88 type : boolean
99 description : Create snapshot release
1010 default : true
11+ is_v2_build :
12+ type : boolean
13+ description : Create a v2 build
14+ default : false
1115 skip_checks :
1216 type : boolean
1317 description : Skip quality checks
1620 type : boolean
1721 description : Ship publish to Maven Central
1822 default : false
19- conintue_on_error :
23+ continue_on_error :
2024 type : boolean
21- description :
25+ description : Continue to build if there's an error in quality checks
2226 default : false
2327
2428name : Release
3236 RELEASE_TAG_VERSION : ${{ inputs.version }}
3337
3438jobs :
35- process_version :
39+ setup :
3640 runs-on : ubuntu-latest
3741 outputs :
3842 version : ${{ format('{0}{1}', steps.version_release.outputs.version, steps.version_snapshot.outputs.version) }}
@@ -47,11 +51,21 @@ jobs:
4751 name : Version
4852 run : |
4953 echo version="${{ inputs.version }}" >> "$GITHUB_OUTPUT"
54+ - id : build_matrix_v1
55+ name : Build matrix (v1)
56+ if : ${{ inputs.is_v2_build == false }}
57+ run : |
58+ echo build_matrix='["8", "11", "17", "21"]' >> "$GITHUB_OUTPUT"
59+ - id : build_matrix_v2
60+ name : Build matrix (v2)
61+ if : ${{ inputs.is_v2_build == true }}
62+ run : |
63+ echo build_matrix='["11", "17", "21"]'>> "$GITHUB_OUTPUT"
5064
5165 version_seal :
5266 runs-on : ubuntu-latest
5367 needs :
54- - process_version
68+ - setup
5569 outputs :
5670 source_hash : ${{ steps.upload_source.outputs.artifact-digest }}
5771 steps :
6276 name : version
6377 uses : ./.github/actions/version
6478 with :
65- new_version : ${{ needs.process_version .outputs.version }}
79+ new_version : ${{ needs.setup .outputs.version }}
6680 snapshot : ${{ inputs.snapshot}}
6781 - id : upload_source
6882 name : Upload artifacts
@@ -98,10 +112,10 @@ jobs:
98112 # non-exhuastive, but gives a fair indication if the final build will succeed, tests will run when we build later
99113 - name : Run unit tests
100114 run : mvn -B test --file pom.xml
101- continue-on-error : ${{ inputs.conintue_on_error }}
115+ continue-on-error : ${{ inputs.continue_on_error }}
102116 - name : Run Spotbugs
103- run : mvn -Pbuild-with-spotbugs -B install --file pom.xml -DskipTests -Dmaven.javadoc.skip=true -Dspotbugs.failOnError=${{ !inputs.conintue_on_error }}
104- continue-on-error : ${{ inputs.conintue_on_error }}
117+ run : mvn -Pbuild-with-spotbugs -B install --file pom.xml -DskipTests -Dmaven.javadoc.skip=true -Dspotbugs.failOnError=${{ !inputs.continue_on_error }}
118+ continue-on-error : ${{ inputs.continue_on_error }}
105119 - uses : pmd/pmd-github-action@d9c1f3c5940cbf5923f1354e83fa858b4496ebaa # v2.0.0
106120 with :
107121 rulesets : ' .github/pmd-ruleset.xml'
@@ -111,15 +125,12 @@ jobs:
111125 build :
112126 runs-on : ubuntu-latest
113127 needs :
128+ - setup
114129 - quality
115130 - version_seal
116131 strategy :
117132 matrix :
118- java_version :
119- - 8
120- - 11
121- - 17
122- - 21
133+ java : ${{ fromJson(needs.setup.outputs.build_matrix) }}
123134 steps :
124135 - id : download_source
125136 name : Download artifacts
@@ -130,7 +141,7 @@ jobs:
130141 uses : actions/setup-java@3a4f6e1af504cf6a31855fa899c6aa5355ba6c12
131142 with :
132143 distribution : corretto
133- java-version : ${{ matrix.java_version }}
144+ java-version : ${{ matrix.java }}
134145 cache : maven
135146 - id : build-maven
136147 name : Build (Maven)
0 commit comments