Skip to content

Commit d8f3d7b

Browse files
committed
added typescript-fetch workflows
1 parent 7a90262 commit d8f3d7b

8 files changed

+1327
-0
lines changed
Lines changed: 172 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,172 @@
1+
name: Test Framework V2 Typescript Fetch ES6
2+
3+
on:
4+
# execute on demand
5+
workflow_dispatch:
6+
branches: ["master"]
7+
8+
jobs:
9+
10+
# builds codegen cli and uploads its artifact
11+
build-codegen:
12+
13+
runs-on: ubuntu-latest
14+
15+
strategy:
16+
matrix:
17+
java: [ 8 ]
18+
19+
steps:
20+
- uses: actions/checkout@v2
21+
- uses: actions/setup-java@v1
22+
with:
23+
java-version: ${{ matrix.java }}
24+
- name: build codegen
25+
run: |
26+
mkdir codegen-cli
27+
echo "BUILDING ${{ env.VERSION }}"
28+
mvn -version
29+
mvn -q -B package -DskipTests -Dhttp.keepAlive=false -Dmaven.wagon.http.pool=false -Dmaven.wagon.httpconnectionManager.ttlSeconds=120 -Dmaven.wagon.http.retryHandler.count=3
30+
cp modules/swagger-codegen-cli/target/swagger-codegen-cli.jar codegen-cli
31+
32+
mkdir test-cfg-files
33+
cp samples/client/petstore/typescript-fetch/builds/es6-target/pom.xml test-cfg-files
34+
- name: upload codegen cli
35+
uses: actions/upload-artifact@v2
36+
with:
37+
name: codegen-cli
38+
path: codegen-cli
39+
- name: upload test cfg file
40+
uses: actions/upload-artifact@v2
41+
with:
42+
name: test-cfg-files
43+
path: test-cfg-files
44+
45+
env:
46+
VERSION: ${{ github.event.inputs.version }}
47+
48+
generate:
49+
50+
needs: build-codegen
51+
52+
runs-on: ubuntu-latest
53+
54+
strategy:
55+
matrix:
56+
java: [ 8 ]
57+
58+
59+
outputs:
60+
generate_outcome: ${{ steps.outcome.outputs.generate_outcome }}
61+
62+
steps:
63+
- uses: actions/checkout@v2
64+
- uses: actions/setup-java@v1
65+
with:
66+
java-version: ${{ matrix.java }}
67+
- name: Download codegen cli
68+
uses: actions/download-artifact@v2
69+
with:
70+
name: codegen-cli
71+
- name: generate
72+
id: generate
73+
continue-on-error: true
74+
uses: ./.github/actions/generate
75+
with:
76+
language: typescript-fetch
77+
job-name: ${{ env.JOB_NAME }}
78+
spec-url: https://raw.githubusercontent.com/swagger-api/swagger-codegen/master/modules/swagger-codegen/src/test/resources/2_0/petstore.yaml
79+
options: " --additional-properties npmName=@swagger/typescript-fetch-petstore,npmVersion=1.0.0,npmRepository=https://skimdb.npmjs.com/registry,snapshot=false,supportsES6=true"
80+
- id: outcome
81+
run: |
82+
echo "::set-output name=generate_outcome::${{ steps.generate.outcome }}"
83+
echo ${{ steps.generate.outcome }} > generate_outcome_${{ env.JOB_NAME }}
84+
- name: upload generate outcome
85+
uses: actions/upload-artifact@v2
86+
with:
87+
name: ${{ env.JOB_NAME }}generate_outcome
88+
path: generate_outcome_${{ env.JOB_NAME }}
89+
- name: upload generate logs
90+
uses: actions/upload-artifact@v2
91+
with:
92+
name: ${{ env.JOB_NAME }}generate_logs
93+
path: ${{ steps.generate.outputs.logs }}
94+
- name: upload generated code
95+
if: contains(steps.generate.outcome, 'success')
96+
uses: actions/upload-artifact@v2
97+
with:
98+
name: ${{ env.JOB_NAME }}generated
99+
path: ${{ steps.generate.outputs.path }}
100+
env:
101+
JOB_NAME: "typescript-fetch-es6-v2-sample"
102+
103+
build:
104+
105+
needs: generate
106+
if: contains(needs.generate.outputs.generate_outcome, 'success')
107+
runs-on: ubuntu-latest
108+
109+
strategy:
110+
###############################################
111+
##### DYNAMIC: Dependent on build environment
112+
###############################################
113+
matrix:
114+
node-version: [12.x]
115+
java: [ 8 ]
116+
###############################################
117+
##### END DYNAMIC: Dependent on build environment
118+
###############################################
119+
steps:
120+
- uses: actions/checkout@v2
121+
- name: Download artifacts
122+
uses: actions/download-artifact@v2
123+
with:
124+
name: ${{ env.JOB_NAME }}generated
125+
path: generated/${{ env.JOB_NAME }}
126+
- name: Download logs
127+
uses: actions/download-artifact@v2
128+
with:
129+
name: ${{ env.JOB_NAME }}generate_logs
130+
###############################################
131+
##### DYNAMIC: Dependent on build environment
132+
###############################################
133+
- name: Use Node.js ${{ matrix.node-version }}
134+
uses: actions/setup-node@v1
135+
with:
136+
node-version: ${{ matrix.node-version }}
137+
- uses: actions/setup-java@v1
138+
with:
139+
java-version: ${{ matrix.java }}
140+
- name: Download Javascript V2 test cfg files
141+
uses: actions/download-artifact@v2
142+
with:
143+
name: test-cfg-files
144+
path: generated/${{ env.JOB_NAME }}
145+
###############################################
146+
##### END DYNAMIC: Dependent on build environment
147+
###############################################
148+
- name: build
149+
id: build
150+
uses: ./.github/actions/build
151+
continue-on-error: true
152+
with:
153+
path: generated/${{ env.JOB_NAME }}
154+
job-name: ${{ env.JOB_NAME }}
155+
build-commands: mvn verify
156+
- id: outcome
157+
run: |
158+
echo "::set-output name=build_outcome::${{ steps.build.outcome }}"
159+
echo ${{ steps.build.outcome }} > ${{ env.JOB_NAME }}build_outcome
160+
- name: upload build outcome
161+
uses: actions/upload-artifact@v2
162+
with:
163+
name: ${{ env.JOB_NAME }}build_outcome
164+
path: ${{ env.JOB_NAME }}build_outcome
165+
- name: upload logs
166+
uses: actions/upload-artifact@v2
167+
with:
168+
name: ${{ env.JOB_NAME }}logs
169+
path: ${{ steps.build.outputs.logs }}
170+
env:
171+
LANGUAGE: ${{ github.event.inputs.language }}
172+
JOB_NAME: "typescript-fetch-es6-v2-sample"
Lines changed: 161 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,161 @@
1+
name: Test Framework V2 Typescript Fetch Interfaces
2+
3+
on:
4+
# execute on demand
5+
workflow_dispatch:
6+
branches: ["master"]
7+
8+
jobs:
9+
10+
# builds codegen cli and uploads its artifact
11+
build-codegen:
12+
13+
runs-on: ubuntu-latest
14+
15+
strategy:
16+
matrix:
17+
java: [ 8 ]
18+
19+
steps:
20+
- uses: actions/checkout@v2
21+
- uses: actions/setup-java@v1
22+
with:
23+
java-version: ${{ matrix.java }}
24+
- name: build codegen
25+
run: |
26+
mkdir codegen-cli
27+
echo "BUILDING ${{ env.VERSION }}"
28+
mvn -version
29+
mvn -q -B package -DskipTests -Dhttp.keepAlive=false -Dmaven.wagon.http.pool=false -Dmaven.wagon.httpconnectionManager.ttlSeconds=120 -Dmaven.wagon.http.retryHandler.count=3
30+
cp modules/swagger-codegen-cli/target/swagger-codegen-cli.jar codegen-cli
31+
- name: upload codegen cli
32+
uses: actions/upload-artifact@v2
33+
with:
34+
name: codegen-cli
35+
path: codegen-cli
36+
- name: upload test cfg file
37+
uses: actions/upload-artifact@v2
38+
with:
39+
name: test-cfg-files
40+
path: test-cfg-files
41+
42+
env:
43+
VERSION: ${{ github.event.inputs.version }}
44+
45+
generate:
46+
47+
needs: build-codegen
48+
49+
runs-on: ubuntu-latest
50+
51+
strategy:
52+
matrix:
53+
java: [ 8 ]
54+
55+
56+
outputs:
57+
generate_outcome: ${{ steps.outcome.outputs.generate_outcome }}
58+
59+
steps:
60+
- uses: actions/checkout@v2
61+
- uses: actions/setup-java@v1
62+
with:
63+
java-version: ${{ matrix.java }}
64+
- name: Download codegen cli
65+
uses: actions/download-artifact@v2
66+
with:
67+
name: codegen-cli
68+
- name: generate
69+
id: generate
70+
continue-on-error: true
71+
uses: ./.github/actions/generate
72+
with:
73+
language: typescript-fetch
74+
job-name: ${{ env.JOB_NAME }}
75+
spec-url: https://raw.githubusercontent.com/swagger-api/swagger-codegen/master/modules/swagger-codegen/src/test/resources/2_0/petstore.yaml
76+
options: " -DwithInterfaces=true"
77+
- id: outcome
78+
run: |
79+
echo "::set-output name=generate_outcome::${{ steps.generate.outcome }}"
80+
echo ${{ steps.generate.outcome }} > generate_outcome_${{ env.JOB_NAME }}
81+
- name: upload generate outcome
82+
uses: actions/upload-artifact@v2
83+
with:
84+
name: ${{ env.JOB_NAME }}generate_outcome
85+
path: generate_outcome_${{ env.JOB_NAME }}
86+
- name: upload generate logs
87+
uses: actions/upload-artifact@v2
88+
with:
89+
name: ${{ env.JOB_NAME }}generate_logs
90+
path: ${{ steps.generate.outputs.logs }}
91+
- name: upload generated code
92+
if: contains(steps.generate.outcome, 'success')
93+
uses: actions/upload-artifact@v2
94+
with:
95+
name: ${{ env.JOB_NAME }}generated
96+
path: ${{ steps.generate.outputs.path }}
97+
env:
98+
JOB_NAME: "typescript-fetch-interfaces-v2-sample"
99+
100+
build:
101+
102+
needs: generate
103+
if: contains(needs.generate.outputs.generate_outcome, 'success')
104+
runs-on: ubuntu-latest
105+
106+
strategy:
107+
###############################################
108+
##### DYNAMIC: Dependent on build environment
109+
###############################################
110+
matrix:
111+
node-version: [12.x]
112+
java: [ 8 ]
113+
###############################################
114+
##### END DYNAMIC: Dependent on build environment
115+
###############################################
116+
steps:
117+
- uses: actions/checkout@v2
118+
- name: Download artifacts
119+
uses: actions/download-artifact@v2
120+
with:
121+
name: ${{ env.JOB_NAME }}generated
122+
path: generated/${{ env.JOB_NAME }}
123+
- name: Download logs
124+
uses: actions/download-artifact@v2
125+
with:
126+
name: ${{ env.JOB_NAME }}generate_logs
127+
###############################################
128+
##### DYNAMIC: Dependent on build environment
129+
###############################################
130+
- name: Use Node.js ${{ matrix.node-version }}
131+
uses: actions/setup-node@v1
132+
with:
133+
node-version: ${{ matrix.node-version }}
134+
###############################################
135+
##### END DYNAMIC: Dependent on build environment
136+
###############################################
137+
- name: build
138+
id: build
139+
uses: ./.github/actions/build
140+
continue-on-error: true
141+
with:
142+
path: generated/${{ env.JOB_NAME }}
143+
job-name: ${{ env.JOB_NAME }}
144+
build-commands: npm install
145+
- id: outcome
146+
run: |
147+
echo "::set-output name=build_outcome::${{ steps.build.outcome }}"
148+
echo ${{ steps.build.outcome }} > ${{ env.JOB_NAME }}build_outcome
149+
- name: upload build outcome
150+
uses: actions/upload-artifact@v2
151+
with:
152+
name: ${{ env.JOB_NAME }}build_outcome
153+
path: ${{ env.JOB_NAME }}build_outcome
154+
- name: upload logs
155+
uses: actions/upload-artifact@v2
156+
with:
157+
name: ${{ env.JOB_NAME }}logs
158+
path: ${{ steps.build.outputs.logs }}
159+
env:
160+
LANGUAGE: ${{ github.event.inputs.language }}
161+
JOB_NAME: "typescript-interfaces-fetch-v2-sample"

0 commit comments

Comments
 (0)