@@ -66,176 +66,15 @@ jobs:
6666 name : build
6767 path : ./**/build/reports
6868
69- h2 :
70- if : contains(github.event.head_commit.message, '[skip build]') == false
71- name : H2 - JDK ${{ matrix.java }}
72- runs-on : ubuntu-latest
73- needs : build
74-
75- env :
76- ORG_GRADLE_PROJECT_jdbcUrl : ' '
77- ORG_GRADLE_PROJECT_jdbcUser : ' '
78- ORG_GRADLE_PROJECT_jdbcPassword : ' '
79-
80- strategy :
81- matrix :
82- java : [ 8 ]
83-
84- steps :
85- - name : Download Maven Repository
86- uses : actions/download-artifact@v2
87- with :
88- name : maven-repository
89- path : .
90-
91- - name : Extract Maven Repository
92- shell : bash
93- run : tar -xzf maven-repository.tgz -C ~
94-
95- - name : Set up JDK
96- uses : actions/setup-java@v2
97- with :
98- distribution : ' zulu'
99- java-version : ${{ matrix.java }}
100-
101- - name : Checkout
102- uses : actions/checkout@v2
103- with :
104- repository : domaframework/doma-it
105-
106- - name : Grant execute permission for gradlew
107- run : chmod +x gradlew
108-
109- - name : Cache Gradle
110- uses : actions/cache@v2
111- with :
112- path : |
113- ~/.gradle/caches
114- ~/.gradle/wrapper
115- key : ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*') }}
116- restore-keys : |
117- ${{ runner.os }}-gradle-
118-
119- - name : Print Gradle version
120- run : ./gradlew -v
121-
122- - name : Test (java)
123- run : ./gradlew :java:check -x spotlessCheck -PdomaVersion=${{ needs.build.outputs.version }}
124-
125- - name : Test (kotlin)
126- run : ./gradlew :kotlin:check -x spotlessCheck -PdomaVersion=${{ needs.build.outputs.version }}
127-
128- - name : Upload reports
129- if : failure()
130- uses : actions/upload-artifact@v2
131- with :
132- name : h2-jdk${{ matrix.java }}
133- path : ./**/build/reports
134-
135- mysql :
136- if : contains(github.event.head_commit.message, '[skip build]') == false
137- name : MySQL - JDK ${{ matrix.java }}
138- runs-on : ubuntu-latest
139- needs : build
140-
141- env :
142- ORG_GRADLE_PROJECT_jdbcUrl : jdbc:mysql://127.0.0.1/doma_it
143- ORG_GRADLE_PROJECT_jdbcUser : root
144- ORG_GRADLE_PROJECT_jdbcPassword : root
145-
146- strategy :
147- matrix :
148- java : [ 8 ]
149-
150- services :
151- mysql :
152- image : mysql:5.7
153- env :
154- MYSQL_ROOT_PASSWORD : root
155- MYSQL_DATABASE : doma_it
156- ports :
157- - 3306
158-
159- steps :
160- - name : Setup MySQL service
161- run : |
162- sudo /etc/init.d/mysql start
163- mysql -uroot -h127.0.0.1 -proot -e 'create database doma_it;'
164-
165- - name : Download Maven Repository
166- uses : actions/download-artifact@v2
167- with :
168- name : maven-repository
169- path : .
170-
171- - name : Extract Maven Repository
172- shell : bash
173- run : tar -xzf maven-repository.tgz -C ~
174-
175- - name : Set up JDK
176- uses : actions/setup-java@v2
177- with :
178- distribution : ' zulu'
179- java-version : ${{ matrix.java }}
180-
181- - name : Checkout
182- uses : actions/checkout@v2
183- with :
184- repository : domaframework/doma-it
185-
186- - name : Grant execute permission for gradlew
187- run : chmod +x gradlew
188-
189- - name : Cache Gradle
190- uses : actions/cache@v2
191- with :
192- path : |
193- ~/.gradle/caches
194- ~/.gradle/wrapper
195- key : ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*') }}
196- restore-keys : |
197- ${{ runner.os }}-gradle-
198-
199- - name : Print Gradle version
200- run : ./gradlew -v
201-
202- - name : Test (java)
203- run : ./gradlew :java:check -x spotlessCheck -PdomaVersion=${{ needs.build.outputs.version }}
204-
205- - name : Test (kotlin)
206- run : ./gradlew :kotlin:check -x spotlessCheck -PdomaVersion=${{ needs.build.outputs.version }}
207-
208- - name : Upload reports
209- if : failure()
210- uses : actions/upload-artifact@v2
211- with :
212- name : mysql-jdk${{ matrix.java }}
213- path : ./**/build/reports
214-
215- postgres :
216- if : contains(github.event.head_commit.message, '[skip build]') == false
217- name : PostgreSQL - JDK ${{ matrix.java }}
69+ test :
70+ name : Test (Java${{ matrix.java }}, ${{ matrix.driver }})
21871 runs-on : ubuntu-latest
21972 needs : build
220-
221- env :
222- ORG_GRADLE_PROJECT_jdbcUrl : jdbc:postgresql://127.0.0.1/doma_it
223- ORG_GRADLE_PROJECT_jdbcUser : postgres
224- ORG_GRADLE_PROJECT_jdbcPassword : postgres
225-
22673 strategy :
22774 matrix :
228- java : [ 8 ]
229-
230- services :
231- postgres :
232- image : postgres:10.16
233- env :
234- POSTGRES_USER : postgres
235- POSTGRES_PASSWORD : postgres
236- POSTGRES_DB : doma_it
237- ports :
238- - 127.0.0.1:5432:5432
75+ java : [17]
76+ driver : [h2, mysql, postgresql, sqlserver]
77+ timeout-minutes : 10
23978
24079 steps :
24180 - name : Download Maven Repository
24887 shell : bash
24988 run : tar -xzf maven-repository.tgz -C ~
25089
251- - name : Set up JDK
90+ - name : Set up JDK ${{ matrix.java }}
25291 uses : actions/setup-java@v2
25392 with :
25493 distribution : ' zulu'
@@ -271,163 +110,22 @@ jobs:
271110 key : ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*') }}
272111 restore-keys : |
273112 ${{ runner.os }}-gradle-
274-
275- - name : Print Gradle version
276- run : ./gradlew -v
277-
278- - name : Test (java)
279- run : ./gradlew :java:check -x spotlessCheck -PdomaVersion=${{ needs.build.outputs.version }}
280-
281- - name : Test (kotlin)
282- run : ./gradlew :kotlin:check -x spotlessCheck -PdomaVersion=${{ needs.build.outputs.version }}
283-
284- - name : Upload reports
285- if : failure()
286- uses : actions/upload-artifact@v2
287- with :
288- name : postgres-jdk${{ matrix.java }}
289- path : ./**/build/reports
290-
291- sqlserver :
292- if : contains(github.event.head_commit.message, '[skip build]') == false
293- name : SQL Server - JDK ${{ matrix.java }}
294- runs-on : ubuntu-latest
295- needs : build
296-
297- env :
298- ORG_GRADLE_PROJECT_jdbcUrl : jdbc:sqlserver://127.0.0.1;database=doma_it
299- ORG_GRADLE_PROJECT_jdbcUser : sa
300- ORG_GRADLE_PROJECT_jdbcPassword : P@ssw0rd
301-
302- strategy :
303- matrix :
304- java : [ 8 ]
305-
306- services :
307- sqlserver :
308- image : docker://mcr.microsoft.com/mssql/server:2019-CU4-ubuntu-16.04
309- options : --name "mssqlcontainer" --health-cmd "/opt/mssql-tools/bin/sqlcmd -S 127.0.0.1 -U sa -P P@ssw0rd -Q \"SELECT * FROM sys.objects;\"" --health-interval 20s --health-timeout 30s --health-retries 128
310- ports :
311- - " 1433:1433"
312- env :
313- ACCEPT_EULA : Y
314- SA_PASSWORD : " P@ssw0rd"
315-
316- steps :
317- - name : Setup SQL Server service
318- run : |
319- docker exec mssqlcontainer /opt/mssql-tools/bin/sqlcmd \
320- -S 127.0.0.1 -U sa -P 'P@ssw0rd' -Q 'CREATE DATABASE doma_it'
321-
322- - name : Download Maven Repository
323- uses : actions/download-artifact@v2
324- with :
325- name : maven-repository
326- path : .
327-
328- - name : Extract Maven Repository
329- shell : bash
330- run : tar -xzf maven-repository.tgz -C ~
331-
332- - name : Set up JDK
333- uses : actions/setup-java@v2
334- with :
335- distribution : ' zulu'
336- java-version : ${{ matrix.java }}
337-
338- - name : Checkout
339- uses : actions/checkout@v2
340- with :
341- repository : domaframework/doma-it
342-
343- - name : Grant execute permission for gradlew
344- run : chmod +x gradlew
345-
346- - name : Cache Gradle
347- uses : actions/cache@v2
348- with :
349- path : |
350- ~/.gradle/caches
351- ~/.gradle/wrapper
352- key : ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*') }}
353- restore-keys : |
354- ${{ runner.os }}-gradle-
355-
356- - name : Print Gradle version
357- run : ./gradlew -v
358-
359- - name : Test (java)
360- run : ./gradlew :java:check -x spotlessCheck -PdomaVersion=${{ needs.build.outputs.version }}
361-
362- - name : Test (kotlin)
363- run : ./gradlew :kotlin:check -x spotlessCheck -PdomaVersion=${{ needs.build.outputs.version }}
364-
365- - name : Upload reports
366- if : failure()
367- uses : actions/upload-artifact@v2
368- with :
369- name : sqlserver-jdk${{ matrix.java }}
370- path : ./**/build/reports
371-
372- additional-features :
373- if : contains(github.event.head_commit.message, '[skip build]') == false
374- name : Additional Features
375- runs-on : ubuntu-latest
376- needs : build
377-
378- steps :
379- - name : Download Maven Repository
380- uses : actions/download-artifact@v2
381- with :
382- name : maven-repository
383- path : .
384-
385- - name : Extract Maven Repository
386- shell : bash
387- run : tar -xzf maven-repository.tgz -C ~
388-
389- - name : Set up JDK
390- uses : actions/setup-java@v2
391- with :
392- distribution : ' zulu'
393- java-version : 17
394-
395- - name : Checkout
396- uses : actions/checkout@v2
397- with :
398- repository : domaframework/doma-it
399-
400- - name : Grant execute permission for gradlew
401- run : chmod +x gradlew
402-
403- - name : Cache Gradle
404- uses : actions/cache@v2
405- with :
406- path : |
407- ~/.gradle/caches
408- ~/.gradle/wrapper
409- key : ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*') }}
410- restore-keys : |
411- ${{ runner.os }}-gradle-
412-
413- - name : Print Gradle version
414- run : ./gradlew -v
415113
416114 - name : Test
417- run : ./gradlew :jep:check -x spotlessCheck -PdomaVersion=${{ needs.build.outputs.version }} -PenableAdditionalFeatures=true
115+ run : ./gradlew ${{ matrix.driver }} -PdomaVersion=${{ needs.build.outputs.version }} -PenableAdditionalFeatures=true
418116
419117 - name : Upload reports
420118 if : failure()
421119 uses : actions/upload-artifact@v2
422120 with :
423- name : additional-features
121+ name : java${{ matrix.java }}-${{ matrix.driver }}
424122 path : ./**/build/reports
425123
426124 publish :
427125 if : github.event_name == 'push' && contains(github.event.head_commit.message, '[skip build]') == false
428126 name : Publish
429127 runs-on : ubuntu-latest
430- needs : [ build, h2, mysql, postgres, sqlserver, additional-features ]
128+ needs : [ build, test ]
431129
432130 steps :
433131 - name : Set up JDK 8
0 commit comments