Skip to content

Commit 1a10163

Browse files
authored
Merge pull request #12070 from swagger-api/okhttp4-actions
Okhttp4 actions
2 parents b15ec88 + 10eebcf commit 1a10163

File tree

5 files changed

+525
-3
lines changed

5 files changed

+525
-3
lines changed
Lines changed: 173 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,173 @@
1+
name: Test Framework V2 Java Ok Http-Gson Parcelable
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 Codegen"
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 files
37+
uses: actions/upload-artifact@v2
38+
with:
39+
name: java-custom-test-files
40+
path: samples/custom-tests/java/v2/okhttp-gson
41+
42+
generate:
43+
44+
needs: build-codegen
45+
46+
runs-on: ubuntu-latest
47+
48+
strategy:
49+
matrix:
50+
java: [ 8 ]
51+
52+
53+
outputs:
54+
generate_outcome: ${{ steps.outcome.outputs.generate_outcome }}
55+
56+
steps:
57+
- uses: actions/checkout@v2
58+
- uses: actions/setup-java@v1
59+
with:
60+
java-version: ${{ matrix.java }}
61+
- name: Download codegen cli
62+
uses: actions/download-artifact@v2
63+
with:
64+
name: codegen-cli
65+
- name: generate
66+
id: generate
67+
continue-on-error: true
68+
uses: ./.github/actions/generate
69+
with:
70+
language: "java"
71+
job-name: ${{ env.JOB_NAME }}
72+
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"
73+
options: " --library=okhttp4-gson -DparcelableModel=true --additional-properties java8=true,wiremock=true"
74+
- id: outcome
75+
run: |
76+
echo "generate_outcome=${{ steps.generate.outcome }}" >> $GITHUB_OUTPUT
77+
echo ${{ steps.generate.outcome }} > generate_outcome_${{ env.JOB_NAME }}
78+
- name: upload generate outcome
79+
uses: actions/upload-artifact@v2
80+
with:
81+
name: ${{ env.JOB_NAME }}generate_outcome
82+
path: generate_outcome_${{ env.JOB_NAME }}
83+
- name: upload generate logs
84+
uses: actions/upload-artifact@v2
85+
with:
86+
name: ${{ env.JOB_NAME }}generate_logs
87+
path: ${{ steps.generate.outputs.logs }}
88+
- name: upload generated code
89+
if: contains(steps.generate.outcome, 'success')
90+
uses: actions/upload-artifact@v2
91+
with:
92+
name: ${{ env.JOB_NAME }}generated
93+
path: ${{ steps.generate.outputs.path }}
94+
env:
95+
JOB_NAME: "java-ok-http4-gson-parcelable-v2-sample"
96+
97+
build:
98+
99+
needs: generate
100+
if: contains(needs.generate.outputs.generate_outcome, 'success')
101+
runs-on: ubuntu-latest
102+
103+
strategy:
104+
###############################################
105+
##### DYNAMIC: Dependent on build environment
106+
###############################################
107+
matrix:
108+
java-version: [1.8]
109+
###############################################
110+
##### END DYNAMIC: Dependent on build environment
111+
###############################################
112+
steps:
113+
- uses: actions/checkout@v2
114+
- name: Download artifacts
115+
uses: actions/download-artifact@v2
116+
with:
117+
name: ${{ env.JOB_NAME }}generated
118+
path: generated/${{ env.JOB_NAME }}
119+
- name: Download logs
120+
uses: actions/download-artifact@v2
121+
with:
122+
name: ${{ env.JOB_NAME }}generate_logs
123+
###############################################
124+
##### DYNAMIC: Dependent on build environment
125+
###############################################
126+
- name: Set up JDK 1.8
127+
uses: actions/setup-java@v1
128+
with:
129+
java-version: ${{ matrix.java-version }}
130+
###############################################
131+
##### END DYNAMIC: Dependent on build environment
132+
###############################################
133+
- name: Download Test Files
134+
uses: actions/download-artifact@v2
135+
with:
136+
name: java-custom-test-files
137+
path: java-custom-test-files
138+
- name: setup test files
139+
id: test-files
140+
run: |
141+
echo "removing default test files (with not cases)"
142+
rm generated/${{ env.JOB_NAME }}/src/test/java/io/swagger/client/api/PetApiTest.java
143+
rm generated/${{ env.JOB_NAME }}/src/test/java/io/swagger/client/api/StoreApiTest.java
144+
rm generated/${{ env.JOB_NAME }}/src/test/java/io/swagger/client/api/UserApiTest.java
145+
146+
echo "copying custom test files"
147+
cp java-custom-test-files/PetApiTest.java generated/${{ env.JOB_NAME }}/src/test/java/io/swagger/client/api/
148+
cp java-custom-test-files/StoreApiTest.java generated/${{ env.JOB_NAME }}/src/test/java/io/swagger/client/api/
149+
cp java-custom-test-files/UserApiTest.java generated/${{ env.JOB_NAME }}/src/test/java/io/swagger/client/api/
150+
- name: build
151+
id: build
152+
uses: ./.github/actions/build
153+
continue-on-error: true
154+
with:
155+
path: generated/${{ env.JOB_NAME }}
156+
job-name: ${{ env.JOB_NAME }}
157+
build-commands: "mvn clean package -Dhttp.keepAlive=false -Dmaven.wagon.http.pool=false -Dmaven.wagon.httpconnectionManager.ttlSeconds=120 -Dmaven.wagon.http.retryHandler.count=3"
158+
- id: outcome
159+
run: |
160+
echo "build_outcome=${{ steps.build.outcome }}" >> $GITHUB_OUTPUT
161+
echo ${{ steps.build.outcome }} > ${{ env.JOB_NAME }}build_outcome
162+
- name: upload build outcome
163+
uses: actions/upload-artifact@v2
164+
with:
165+
name: ${{ env.JOB_NAME }}build_outcome
166+
path: ${{ env.JOB_NAME }}build_outcome
167+
- name: upload logs
168+
uses: actions/upload-artifact@v2
169+
with:
170+
name: ${{ env.JOB_NAME }}logs
171+
path: ${{ steps.build.outputs.logs }}
172+
env:
173+
JOB_NAME: "java-ok-http4-gson-parcelable-v2-sample"
Lines changed: 173 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,173 @@
1+
name: Test Framework V2 Java Ok Http4-Gson
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 Codegen"
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 files
37+
uses: actions/upload-artifact@v2
38+
with:
39+
name: java-custom-test-files
40+
path: samples/custom-tests/java/v2/okhttp-gson
41+
42+
generate:
43+
44+
needs: build-codegen
45+
46+
runs-on: ubuntu-latest
47+
48+
strategy:
49+
matrix:
50+
java: [ 8 ]
51+
52+
53+
outputs:
54+
generate_outcome: ${{ steps.outcome.outputs.generate_outcome }}
55+
56+
steps:
57+
- uses: actions/checkout@v2
58+
- uses: actions/setup-java@v1
59+
with:
60+
java-version: ${{ matrix.java }}
61+
- name: Download codegen cli
62+
uses: actions/download-artifact@v2
63+
with:
64+
name: codegen-cli
65+
- name: generate
66+
id: generate
67+
continue-on-error: true
68+
uses: ./.github/actions/generate
69+
with:
70+
language: "java"
71+
job-name: ${{ env.JOB_NAME }}
72+
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"
73+
options: " --library okhttp4-gson --additional-properties java8=true,wiremock=true"
74+
- id: outcome
75+
run: |
76+
echo "generate_outcome=${{ steps.generate.outcome }}" >> $GITHUB_OUTPUT
77+
echo ${{ steps.generate.outcome }} > generate_outcome_${{ env.JOB_NAME }}
78+
- name: upload generate outcome
79+
uses: actions/upload-artifact@v2
80+
with:
81+
name: ${{ env.JOB_NAME }}generate_outcome
82+
path: generate_outcome_${{ env.JOB_NAME }}
83+
- name: upload generate logs
84+
uses: actions/upload-artifact@v2
85+
with:
86+
name: ${{ env.JOB_NAME }}generate_logs
87+
path: ${{ steps.generate.outputs.logs }}
88+
- name: upload generated code
89+
if: contains(steps.generate.outcome, 'success')
90+
uses: actions/upload-artifact@v2
91+
with:
92+
name: ${{ env.JOB_NAME }}generated
93+
path: ${{ steps.generate.outputs.path }}
94+
env:
95+
JOB_NAME: "java-ok-http-gson-v2-sample"
96+
97+
build:
98+
99+
needs: generate
100+
if: contains(needs.generate.outputs.generate_outcome, 'success')
101+
runs-on: ubuntu-latest
102+
103+
strategy:
104+
###############################################
105+
##### DYNAMIC: Dependent on build environment
106+
###############################################
107+
matrix:
108+
java-version: [1.8]
109+
###############################################
110+
##### END DYNAMIC: Dependent on build environment
111+
###############################################
112+
steps:
113+
- uses: actions/checkout@v2
114+
- name: Download artifacts
115+
uses: actions/download-artifact@v2
116+
with:
117+
name: ${{ env.JOB_NAME }}generated
118+
path: generated/${{ env.JOB_NAME }}
119+
- name: Download logs
120+
uses: actions/download-artifact@v2
121+
with:
122+
name: ${{ env.JOB_NAME }}generate_logs
123+
###############################################
124+
##### DYNAMIC: Dependent on build environment
125+
###############################################
126+
- name: Set up JDK 1.8
127+
uses: actions/setup-java@v1
128+
with:
129+
java-version: ${{ matrix.java-version }}
130+
###############################################
131+
##### END DYNAMIC: Dependent on build environment
132+
###############################################
133+
- name: Download Test Files
134+
uses: actions/download-artifact@v2
135+
with:
136+
name: java-custom-test-files
137+
path: java-custom-test-files
138+
- name: setup test files
139+
id: test-files
140+
run: |
141+
echo "removing default test files (with not cases)"
142+
rm generated/${{ env.JOB_NAME }}/src/test/java/io/swagger/client/api/PetApiTest.java
143+
rm generated/${{ env.JOB_NAME }}/src/test/java/io/swagger/client/api/StoreApiTest.java
144+
rm generated/${{ env.JOB_NAME }}/src/test/java/io/swagger/client/api/UserApiTest.java
145+
146+
echo "copying custom test files"
147+
cp java-custom-test-files/PetApiTest.java generated/${{ env.JOB_NAME }}/src/test/java/io/swagger/client/api/
148+
cp java-custom-test-files/StoreApiTest.java generated/${{ env.JOB_NAME }}/src/test/java/io/swagger/client/api/
149+
cp java-custom-test-files/UserApiTest.java generated/${{ env.JOB_NAME }}/src/test/java/io/swagger/client/api/
150+
- name: build
151+
id: build
152+
uses: ./.github/actions/build
153+
continue-on-error: true
154+
with:
155+
path: generated/${{ env.JOB_NAME }}
156+
job-name: ${{ env.JOB_NAME }}
157+
build-commands: "mvn clean package -Dhttp.keepAlive=false -Dmaven.wagon.http.pool=false -Dmaven.wagon.httpconnectionManager.ttlSeconds=120 -Dmaven.wagon.http.retryHandler.count=3"
158+
- id: outcome
159+
run: |
160+
echo "build_outcome=${{ steps.build.outcome }}" >> $GITHUB_OUTPUT
161+
echo ${{ steps.build.outcome }} > ${{ env.JOB_NAME }}build_outcome
162+
- name: upload build outcome
163+
uses: actions/upload-artifact@v2
164+
with:
165+
name: ${{ env.JOB_NAME }}build_outcome
166+
path: ${{ env.JOB_NAME }}build_outcome
167+
- name: upload logs
168+
uses: actions/upload-artifact@v2
169+
with:
170+
name: ${{ env.JOB_NAME }}logs
171+
path: ${{ steps.build.outputs.logs }}
172+
env:
173+
JOB_NAME: "java-ok-http-gson-v2-sample"

.github/workflows/test-framework-v2-java11-okhttp-gson.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ jobs:
7070
language: "java"
7171
job-name: ${{ env.JOB_NAME }}
7272
spec-url: "https://petstore.swagger.io/v2/swagger.json"
73-
options: " --additional-properties java11=true,wiremock=true"
73+
options: " --library okhttp-gson --additional-properties java11=true,wiremock=true"
7474
- id: outcome
7575
run: |
7676
echo "generate_outcome=${{ steps.generate.outcome }}" >> $GITHUB_OUTPUT

0 commit comments

Comments
 (0)