99 no-build-cache :
1010 type : boolean
1111 required : false
12+ max-test-retries :
13+ type : number
14+ required : false
15+ default : 0
1216
1317permissions :
1418 contents : read
1519
1620jobs :
17- build :
21+ spotless :
1822 runs-on : ubuntu-latest
1923 steps :
2024 - uses : actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
@@ -25,13 +29,32 @@ jobs:
2529 distribution : temurin
2630 java-version : 17
2731
28- - name : Set up gradle
32+ - name : Set up Gradle
33+ uses : gradle/actions/setup-gradle@017a9effdb900e5b5b2fddfb590a105619dca3c3 # v4.4.2
34+ with :
35+ cache-read-only : ${{ inputs.cache-read-only }}
36+
37+ - name : Spotless
38+ run : ./gradlew spotlessCheck ${{ inputs.no-build-cache && '--no-build-cache' || '' }}
39+
40+ build :
41+ runs-on : ubuntu-latest
42+ steps :
43+ - uses : actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
44+
45+ - name : Set up JDK for running Gradle
46+ uses : actions/setup-java@dded0888837ed1f317902acf8a20df0ad188d165 # v5.0.0
47+ with :
48+ distribution : temurin
49+ java-version : 17
50+
51+ - name : Set up Gradle
2952 uses : gradle/actions/setup-gradle@017a9effdb900e5b5b2fddfb590a105619dca3c3 # v4.4.2
3053 with :
3154 cache-read-only : ${{ inputs.cache-read-only }}
3255
33- - name : Gradle build and test
34- run : ./gradlew build -x test ${{ inputs.no-build-cache && '--no-build-cache' || '' }}
56+ - name : Build
57+ run : ./gradlew build -x spotlessCheck -x test ${{ inputs.no-build-cache && '--no-build-cache' || '' }}
3558
3659 test :
3760 name : Test
4063 fail-fast : false
4164 matrix :
4265 os :
43- - macos-latest
44- - macos-13
4566 - ubuntu-latest
4667 - windows-latest
4768 test-java-version :
@@ -50,66 +71,63 @@ jobs:
5071 - 17
5172 - 21
5273 - 24 # renovate: datasource=java-version
53- # macos-latest drops support for java 8 temurin. Run java 8 on macos-13. Run java 11, 17, 21 on macos-latest.
54- exclude :
55- - os : macos-latest
56- test-java-version : 8
57- - os : macos-13
58- test-java-version : 11
59- - os : macos-13
60- test-java-version : 17
61- - os : macos-13
62- test-java-version : 21
63- - os : macos-13
64- test-java-version : 24 # renovate: datasource=java-version
6574 steps :
6675 - uses : actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
6776
6877 - id : setup-java-test
6978 name : Set up Java ${{ matrix.test-java-version }} for tests
70- uses : actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1
79+ uses : actions/setup-java@dded0888837ed1f317902acf8a20df0ad188d165 # v5.0.0
7180 with :
7281 distribution : temurin
7382 java-version : ${{ matrix.test-java-version }}
7483
7584 - id : setup-java
7685 name : Set up Java for build
77- uses : actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1
86+ uses : actions/setup-java@dded0888837ed1f317902acf8a20df0ad188d165 # v5.0.0
7887 with :
7988 distribution : temurin
8089 java-version : 17
8190
82- - name : Set up gradle
91+ - name : Set up Gradle
8392 uses : gradle/actions/setup-gradle@017a9effdb900e5b5b2fddfb590a105619dca3c3 # v4.4.2
8493 with :
8594 cache-read-only : ${{ inputs.cache-read-only }}
8695
87- - name : Gradle test
96+ - name : Test
8897 run : >
8998 ./gradlew test
9099 "-PtestJavaVersion=${{ matrix.test-java-version }}"
91100 "-Porg.gradle.java.installations.paths=${{ steps.setup-java-test.outputs.path }}"
92101 "-Porg.gradle.java.installations.auto-download=false"
93- ${{ inputs.no-build-cache && '--no-build-cache' || '' }}
102+ "-PmaxTestRetries=${{ inputs.max-test-retries }}"
103+ ${{ inputs.no-build-cache && '--no-build-cache' || '' }}
104+
105+ - name : Build scan
106+ if : ${{ !cancelled() && hashFiles('build-scan.txt') != '' }}
107+ run : cat build-scan.txt
94108
95109 integration-test :
96110 runs-on : ubuntu-latest
97111 steps :
98112 - uses : actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
99113
100114 - name : Set up JDK for running Gradle
101- uses : actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1
115+ uses : actions/setup-java@dded0888837ed1f317902acf8a20df0ad188d165 # v5.0.0
102116 with :
103117 distribution : temurin
104118 java-version : 17
105119
106- - name : Set up gradle
120+ - name : Set up Gradle
107121 uses : gradle/actions/setup-gradle@017a9effdb900e5b5b2fddfb590a105619dca3c3 # v4.4.2
108122 with :
109123 cache-read-only : ${{ inputs.cache-read-only }}
110124
111125 - name : Integration test
112- run : ./gradlew integrationTest ${{ inputs.no-build-cache && '--no-build-cache' || '' }}
126+ run : ./gradlew integrationTest "-PmaxTestRetries=${{ inputs.max-test-retries }}" ${{ inputs.no-build-cache && '--no-build-cache' || '' }}
127+
128+ - name : Build scan
129+ if : ${{ !cancelled() && hashFiles('build-scan.txt') != '' }}
130+ run : cat build-scan.txt
113131
114132 - name : Save integration test results
115133 uses : actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
0 commit comments