Skip to content

Commit eec12fa

Browse files
committed
added kotlin workflows
1 parent 6c9de61 commit eec12fa

6 files changed

+912
-0
lines changed
Lines changed: 151 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,151 @@
1+
name: Test Framework V2 Kotlin String
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+
37+
generate:
38+
39+
needs: build-codegen
40+
41+
runs-on: ubuntu-latest
42+
43+
strategy:
44+
matrix:
45+
java: [ 8 ]
46+
47+
48+
outputs:
49+
generate_outcome: ${{ steps.outcome.outputs.generate_outcome }}
50+
51+
steps:
52+
- uses: actions/checkout@v2
53+
- uses: actions/setup-java@v1
54+
with:
55+
java-version: ${{ matrix.java }}
56+
- name: Download codegen cli
57+
uses: actions/download-artifact@v2
58+
with:
59+
name: codegen-cli
60+
- name: generate
61+
id: generate
62+
continue-on-error: true
63+
uses: ./.github/actions/generate
64+
with:
65+
language: "kotlin"
66+
job-name: ${{ env.JOB_NAME }}
67+
spec-url: "https://raw.githubusercontent.com/swagger-api/swagger-codegen/master/modules/swagger-codegen/src/test/resources/2_0/petstore.yaml"
68+
options: " --artifact-id kotlin-petstore-string -DdateLibrary=string"
69+
- id: outcome
70+
run: |
71+
echo "::set-output name=generate_outcome::${{ steps.generate.outcome }}"
72+
echo ${{ steps.generate.outcome }} > generate_outcome_${{ env.JOB_NAME }}
73+
- name: upload generate outcome
74+
uses: actions/upload-artifact@v2
75+
with:
76+
name: ${{ env.JOB_NAME }}generate_outcome
77+
path: generate_outcome_${{ env.JOB_NAME }}
78+
- name: upload generate logs
79+
uses: actions/upload-artifact@v2
80+
with:
81+
name: ${{ env.JOB_NAME }}generate_logs
82+
path: ${{ steps.generate.outputs.logs }}
83+
- name: upload generated code
84+
if: contains(steps.generate.outcome, 'success')
85+
uses: actions/upload-artifact@v2
86+
with:
87+
name: ${{ env.JOB_NAME }}generated
88+
path: ${{ steps.generate.outputs.path }}
89+
env:
90+
JOB_NAME: "kotlin-string-v2-sample"
91+
92+
build:
93+
94+
needs: generate
95+
if: contains(needs.generate.outputs.generate_outcome, 'success')
96+
runs-on: ubuntu-latest
97+
98+
strategy:
99+
###############################################
100+
##### DYNAMIC: Dependent on build environment
101+
###############################################
102+
matrix:
103+
java-version: [1.8]
104+
###############################################
105+
##### END DYNAMIC: Dependent on build environment
106+
###############################################
107+
steps:
108+
- uses: actions/checkout@v2
109+
- name: Download artifacts
110+
uses: actions/download-artifact@v2
111+
with:
112+
name: ${{ env.JOB_NAME }}generated
113+
path: generated/${{ env.JOB_NAME }}
114+
- name: Download logs
115+
uses: actions/download-artifact@v2
116+
with:
117+
name: ${{ env.JOB_NAME }}generate_logs
118+
###############################################
119+
##### DYNAMIC: Dependent on build environment
120+
###############################################
121+
- name: Set up JDK 1.8
122+
uses: actions/setup-java@v1
123+
with:
124+
java-version: ${{ matrix.java-version }}
125+
###############################################
126+
##### END DYNAMIC: Dependent on build environment
127+
###############################################
128+
- name: build
129+
id: build
130+
uses: ./.github/actions/build
131+
continue-on-error: true
132+
with:
133+
path: generated/${{ env.JOB_NAME }}
134+
job-name: ${{ env.JOB_NAME }}
135+
build-commands: "gradle build"
136+
- id: outcome
137+
run: |
138+
echo "::set-output name=build_outcome::${{ steps.build.outcome }}"
139+
echo ${{ steps.build.outcome }} > ${{ env.JOB_NAME }}build_outcome
140+
- name: upload build outcome
141+
uses: actions/upload-artifact@v2
142+
with:
143+
name: ${{ env.JOB_NAME }}build_outcome
144+
path: ${{ env.JOB_NAME }}build_outcome
145+
- name: upload logs
146+
uses: actions/upload-artifact@v2
147+
with:
148+
name: ${{ env.JOB_NAME }}logs
149+
path: ${{ steps.build.outputs.logs }}
150+
env:
151+
JOB_NAME: "kotlin-string-v2-sample"
Lines changed: 151 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,151 @@
1+
name: Test Framework V2 Kotlin Threetenbp
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+
37+
generate:
38+
39+
needs: build-codegen
40+
41+
runs-on: ubuntu-latest
42+
43+
strategy:
44+
matrix:
45+
java: [ 8 ]
46+
47+
48+
outputs:
49+
generate_outcome: ${{ steps.outcome.outputs.generate_outcome }}
50+
51+
steps:
52+
- uses: actions/checkout@v2
53+
- uses: actions/setup-java@v1
54+
with:
55+
java-version: ${{ matrix.java }}
56+
- name: Download codegen cli
57+
uses: actions/download-artifact@v2
58+
with:
59+
name: codegen-cli
60+
- name: generate
61+
id: generate
62+
continue-on-error: true
63+
uses: ./.github/actions/generate
64+
with:
65+
language: "kotlin"
66+
job-name: ${{ env.JOB_NAME }}
67+
spec-url: "https://raw.githubusercontent.com/swagger-api/swagger-codegen/master/modules/swagger-codegen/src/test/resources/2_0/petstore.yaml"
68+
options: " --artifact-id kotlin-petstore-client -DdateLibrary=threetenbp"
69+
- id: outcome
70+
run: |
71+
echo "::set-output name=generate_outcome::${{ steps.generate.outcome }}"
72+
echo ${{ steps.generate.outcome }} > generate_outcome_${{ env.JOB_NAME }}
73+
- name: upload generate outcome
74+
uses: actions/upload-artifact@v2
75+
with:
76+
name: ${{ env.JOB_NAME }}generate_outcome
77+
path: generate_outcome_${{ env.JOB_NAME }}
78+
- name: upload generate logs
79+
uses: actions/upload-artifact@v2
80+
with:
81+
name: ${{ env.JOB_NAME }}generate_logs
82+
path: ${{ steps.generate.outputs.logs }}
83+
- name: upload generated code
84+
if: contains(steps.generate.outcome, 'success')
85+
uses: actions/upload-artifact@v2
86+
with:
87+
name: ${{ env.JOB_NAME }}generated
88+
path: ${{ steps.generate.outputs.path }}
89+
env:
90+
JOB_NAME: "kotlin-threetenbp-v2-sample"
91+
92+
build:
93+
94+
needs: generate
95+
if: contains(needs.generate.outputs.generate_outcome, 'success')
96+
runs-on: ubuntu-latest
97+
98+
strategy:
99+
###############################################
100+
##### DYNAMIC: Dependent on build environment
101+
###############################################
102+
matrix:
103+
java-version: [1.8]
104+
###############################################
105+
##### END DYNAMIC: Dependent on build environment
106+
###############################################
107+
steps:
108+
- uses: actions/checkout@v2
109+
- name: Download artifacts
110+
uses: actions/download-artifact@v2
111+
with:
112+
name: ${{ env.JOB_NAME }}generated
113+
path: generated/${{ env.JOB_NAME }}
114+
- name: Download logs
115+
uses: actions/download-artifact@v2
116+
with:
117+
name: ${{ env.JOB_NAME }}generate_logs
118+
###############################################
119+
##### DYNAMIC: Dependent on build environment
120+
###############################################
121+
- name: Set up JDK 1.8
122+
uses: actions/setup-java@v1
123+
with:
124+
java-version: ${{ matrix.java-version }}
125+
###############################################
126+
##### END DYNAMIC: Dependent on build environment
127+
###############################################
128+
- name: build
129+
id: build
130+
uses: ./.github/actions/build
131+
continue-on-error: true
132+
with:
133+
path: generated/${{ env.JOB_NAME }}
134+
job-name: ${{ env.JOB_NAME }}
135+
build-commands: "gradle build"
136+
- id: outcome
137+
run: |
138+
echo "::set-output name=build_outcome::${{ steps.build.outcome }}"
139+
echo ${{ steps.build.outcome }} > ${{ env.JOB_NAME }}build_outcome
140+
- name: upload build outcome
141+
uses: actions/upload-artifact@v2
142+
with:
143+
name: ${{ env.JOB_NAME }}build_outcome
144+
path: ${{ env.JOB_NAME }}build_outcome
145+
- name: upload logs
146+
uses: actions/upload-artifact@v2
147+
with:
148+
name: ${{ env.JOB_NAME }}logs
149+
path: ${{ steps.build.outputs.logs }}
150+
env:
151+
JOB_NAME: "kotlin-threetenbp-v2-sample"

0 commit comments

Comments
 (0)