Skip to content

Commit a441e8f

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

File tree

1 file changed

+82
-0
lines changed

1 file changed

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

0 commit comments

Comments
 (0)