Skip to content

Commit 44f0351

Browse files
committed
Generate SDK code
1 parent 6584201 commit 44f0351

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

54 files changed

+83
-8206
lines changed
Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
name: Trigger SDK Generation
2+
on:
3+
repository_dispatch:
4+
types: [publish_sdk]
5+
env:
6+
GENERATOR_VERISON: "7.6.0"
7+
jobs:
8+
pull_request:
9+
runs-on: ubuntu-latest
10+
steps:
11+
- name: Checkout
12+
uses: actions/checkout@v4
13+
14+
- name: Get Latest Release
15+
id: latest-version
16+
uses: pozetroninc/[email protected]
17+
with:
18+
owner: ${{ github.repository_owner }}
19+
repo: ${{ github.repository }}
20+
excludes: prerelease, draft
21+
token: ${{ secrets.GITHUB_TOKEN }}
22+
23+
- name: Determine Version
24+
id: version
25+
uses: actions/github-script@v7
26+
with:
27+
script: |
28+
const version = '${{ steps.latest-version.outputs.release }}';
29+
const parts = version.split('.');
30+
switch('${{ github.event.client_payload.labels }}') {
31+
case 'patch':
32+
parts[2] = parseInt(parts[2]) + 1;
33+
break;
34+
case 'minor':
35+
parts[1] = parseInt(parts[1]) + 1;
36+
break;
37+
case 'major':
38+
parts[0] = parseInt(parts[0]) + 1;
39+
break;
40+
default:
41+
parts[2] = parseInt(parts[2]) + 1;
42+
break;
43+
}
44+
const newVersion = parts.join('.');
45+
return newVersion;
46+
47+
- name: Download OpenAPI Generator
48+
run: |
49+
curl https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/${{ env.GENERATOR_VERISON }}/openapi-generator-cli-${{ env.GENERATOR_VERISON }}.jar -o ${{ runner.temp }}/openapi-generator-cli.jar
50+
51+
- name: Download OpenAPI Specification
52+
uses: actions/download-artifact@v4
53+
with:
54+
name: ${{ github.event.client_payload.openapi_spec }}
55+
path: ${{ runner.temp }}/openapi.yml
56+
repository: databox/data-link
57+
github-token: ${{ secrets.GITHUB_TOKEN }}
58+
59+
- name: Remove old SDK
60+
run: rm -rf src/*
61+
62+
- name: Set SDK version
63+
run: |
64+
cp ./.github/sdk-gen-config.yml ${{ runner.temp }}/sdk-gen-config.yml
65+
sed -i "s/{VERSION}/${{ steps.version.outputs.result }}/g" ${{ runner.temp }}/sdk-gen-config.yml
66+
67+
- name: Generate SDK
68+
run: |
69+
java -jar ${{ runner.temp }}/openapi-generator-cli.jar generate -i ${{ runner.temp }}/openapi.yml -g csharp -o ./src -c ${{ runner.temp }}/sdk-gen-config.yml
70+
71+
- name: Create Pull Request
72+
id: cpr
73+
uses: peter-evans/create-pull-request@v6
74+
with:
75+
token: ${{ secrets.GITHUB_TOKEN }}
76+
commit-message: 'chore: release data-link SDK'
77+
title: '[SDK release] Generated SDK release'
78+
branch: 'release/${{ github.event.client_payload.version }}/${{ github.event.client_payload.timestamp }}'
79+
body: >
80+
This is a release of the SDK based on the API changes for `data-link` [${{ github.event.client_payload.version }}](${{ github.event.client_payload.release_url }}).
81+
labels: |
82+
automated
83+
${{ github.event.client_payload.labels }}

.github/workflows/publish_sdk.yml

Lines changed: 0 additions & 54 deletions
This file was deleted.

Org.OpenAPITools.sln

Lines changed: 0 additions & 27 deletions
This file was deleted.

0 commit comments

Comments
 (0)