Skip to content

Commit 186aef0

Browse files
committed
ci: update zkevm api package
1 parent 38bd447 commit 186aef0

File tree

1 file changed

+77
-0
lines changed

1 file changed

+77
-0
lines changed
Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
---
2+
name: Update zkEVM API Package
3+
4+
on:
5+
workflow_dispatch:
6+
7+
jobs:
8+
update-api:
9+
runs-on: ubuntu-latest
10+
steps:
11+
- name: Check out repository
12+
uses: actions/checkout@v3
13+
14+
- name: Get current date and time
15+
id: date
16+
run: echo "::set-output name=date::$(date +'%Y-%m-%d-%H-%M-%S')"
17+
18+
- name: Download remote openapi.json
19+
run: curl -o openapi.json https://imx-openapiv3-mr-sandbox.s3.us-east-2.amazonaws.com/openapi.json
20+
21+
- name: Ensure local openapi.yaml exists (if not, assume it's blank)
22+
run: |
23+
if [ ! -f ./src/Packages/ZkEvmApi/api~/openapi.yaml ]; then
24+
echo "Creating empty openapi.yaml file..."
25+
mkdir -p ./src/Packages/ZkEvmApi/api~
26+
touch ./src/Packages/ZkEvmApi/api~/openapi.yaml
27+
fi
28+
29+
- name: Compare openapi.json with openapi.yaml
30+
id: comparison
31+
run: |
32+
if diff openapi.json ./src/Packages/ZkEvmApi/api~/openapi.yaml > /dev/null; then
33+
echo "::set-output name=difference::false"
34+
else
35+
echo "::set-output name=difference::true"
36+
fi
37+
38+
- name: Generate API if there are differences
39+
if: steps.comparison.outputs.difference == 'true'
40+
run: |
41+
wget https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/7.8.0/openapi-generator-cli-7.8.0.jar -O openapi-generator-cli.jar
42+
java -jar openapi-generator-cli.jar generate -i openapi.json -g csharp \
43+
--library unityWebRequest -o ./ZkEvmApi \
44+
--skip-validate-spec \
45+
--additional-properties=apiName=ImmutableZkEvmApi,packageName=Immutable.Api.ZkEvm
46+
47+
- name: Copy generated files
48+
if: steps.comparison.outputs.difference == 'true'
49+
run: |
50+
mkdir -p ./src/Packages/ZkEvmApi/api~
51+
mkdir -p ./src/Packages/ZkEvmApi/Documentation~
52+
mkdir -p ./src/Packages/ZkEvmApi/Runtime
53+
54+
rm -rf ./src/Packages/ZkEvmApi/api~/*
55+
rm -rf ./src/Packages/ZkEvmApi/Documentation~/*
56+
rm -rf ./src/Packages/ZkEvmApi/Runtime/*
57+
58+
cp -r ./ZkEvmApi/api/* ./src/Packages/ZkEvmApi/api~/
59+
cp -r ./ZkEvmApi/docs/* ./src/Packages/ZkEvmApi/Documentation~/
60+
cp -r ./ZkEvmApi/src/Immutable.Api.ZkEvm/* ./src/Packages/ZkEvmApi/Runtime/
61+
62+
- name: Clean up
63+
if: steps.comparison.outputs.difference == 'true'
64+
run: |
65+
rm -rf ./ZkEvmApi
66+
rm openapi-generator-cli.jar
67+
68+
- name: Create or update PR
69+
if: steps.comparison.outputs.difference == 'true'
70+
uses: gr2m/create-or-update-pull-request-action@v1
71+
env:
72+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
73+
with:
74+
title: "feat: update immutable zkEVM API package"
75+
body: "Update Immutable zkEVM API package"
76+
branch: "chore/update-zkevm-api-${{ steps.date.outputs.date }}"
77+
commit-message: "feat: update immutable zkEVM API package"

0 commit comments

Comments
 (0)