Skip to content

Commit 01398cb

Browse files
committed
added javascript workflows
1 parent 8b46ee6 commit 01398cb

9 files changed

+1460
-0
lines changed
Lines changed: 163 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,163 @@
1+
name: Test Framework V2 Javascript 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+
- name: upload codegen cli
32+
uses: actions/upload-artifact@v2
33+
with:
34+
name: codegen-cli
35+
path: codegen-cli
36+
37+
env:
38+
VERSION: ${{ github.event.inputs.version }}
39+
40+
generate:
41+
42+
needs: build-codegen
43+
44+
runs-on: ubuntu-latest
45+
46+
strategy:
47+
matrix:
48+
java: [ 8 ]
49+
50+
51+
outputs:
52+
generate_outcome: ${{ steps.outcome.outputs.generate_outcome }}
53+
54+
steps:
55+
- uses: actions/checkout@v2
56+
- uses: actions/setup-java@v1
57+
with:
58+
java-version: ${{ matrix.java }}
59+
- name: Download codegen cli
60+
uses: actions/download-artifact@v2
61+
with:
62+
name: codegen-cli
63+
- name: generate
64+
id: generate
65+
continue-on-error: true
66+
uses: ./.github/actions/generate
67+
with:
68+
language: javascript
69+
job-name: ${{ env.JOB_NAME }}
70+
spec-url: https://raw.githubusercontent.com/swagger-api/swagger-codegen/master/modules/swagger-codegen/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml
71+
options: " -DappName=PetstoreClient --additional-properties useES6=true"
72+
- id: outcome
73+
run: |
74+
echo "::set-output name=generate_outcome::${{ steps.generate.outcome }}"
75+
echo ${{ steps.generate.outcome }} > generate_outcome_${{ env.JOB_NAME }}
76+
- name: upload generate outcome
77+
uses: actions/upload-artifact@v2
78+
with:
79+
name: ${{ env.JOB_NAME }}generate_outcome
80+
path: generate_outcome_${{ env.JOB_NAME }}
81+
- name: upload generate logs
82+
uses: actions/upload-artifact@v2
83+
with:
84+
name: ${{ env.JOB_NAME }}generate_logs
85+
path: ${{ steps.generate.outputs.logs }}
86+
- name: upload generated code
87+
if: contains(steps.generate.outcome, 'success')
88+
uses: actions/upload-artifact@v2
89+
with:
90+
name: ${{ env.JOB_NAME }}generated
91+
path: ${{ steps.generate.outputs.path }}
92+
env:
93+
JOB_NAME: "javascript-es6-v2-sample"
94+
95+
build:
96+
97+
needs: generate
98+
if: contains(needs.generate.outputs.generate_outcome, 'success')
99+
runs-on: ubuntu-latest
100+
101+
strategy:
102+
###############################################
103+
##### DYNAMIC: Dependent on build environment
104+
###############################################
105+
matrix:
106+
node-version: [12.x]
107+
java: [ 8 ]
108+
###############################################
109+
##### END DYNAMIC: Dependent on build environment
110+
###############################################
111+
steps:
112+
- uses: actions/checkout@v2
113+
- name: Download artifacts
114+
uses: actions/download-artifact@v2
115+
with:
116+
name: ${{ env.JOB_NAME }}generated
117+
path: generated/${{ env.JOB_NAME }}
118+
- name: Download logs
119+
uses: actions/download-artifact@v2
120+
with:
121+
name: ${{ env.JOB_NAME }}generate_logs
122+
###############################################
123+
##### DYNAMIC: Dependent on build environment1q
124+
###############################################
125+
- name: Use Node.js ${{ matrix.node-version }}
126+
uses: actions/setup-node@v1
127+
with:
128+
node-version: ${{ matrix.node-version }}
129+
- uses: actions/setup-java@v1
130+
with:
131+
java-version: ${{ matrix.java }}
132+
- name: Download Javascript V2 test cfg files
133+
uses: actions/download-artifact@v2
134+
with:
135+
name: test-cfg-files
136+
path: generated/${{ env.JOB_NAME }}
137+
###############################################
138+
##### END DYNAMIC: Dependent on build environment
139+
###############################################
140+
- name: build
141+
id: build
142+
uses: ./.github/actions/build
143+
continue-on-error: true
144+
with:
145+
path: generated/${{ env.JOB_NAME }}
146+
job-name: ${{ env.JOB_NAME }}
147+
build-commands: npm install
148+
- id: outcome
149+
run: |
150+
echo "::set-output name=build_outcome::${{ steps.build.outcome }}"
151+
echo ${{ steps.build.outcome }} > ${{ env.JOB_NAME }}build_outcome
152+
- name: upload build outcome
153+
uses: actions/upload-artifact@v2
154+
with:
155+
name: ${{ env.JOB_NAME }}build_outcome
156+
path: ${{ env.JOB_NAME }}build_outcome
157+
- name: upload logs
158+
uses: actions/upload-artifact@v2
159+
with:
160+
name: ${{ env.JOB_NAME }}logs
161+
path: ${{ steps.build.outputs.logs }}
162+
env:
163+
JOB_NAME: "javascript-es6-v2-sample"
Lines changed: 172 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,172 @@
1+
name: Test Framework V2 Javascript Override Default Config
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 }}"0
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/javascript/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: javascript
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-with-fake-endpoints-models-for-testing.yaml
79+
options: " -DappName=PetstoreClient --invoker-package petstore --api-package handler --model-package mdl --additional-properties sourceFolder=js"
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: "javascript-override-default-config-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: "javascript-override-default-config-v2-sample"

0 commit comments

Comments
 (0)