Skip to content

Commit 6d380d4

Browse files
[#611] add actions for mvn 4 build + use matrix strategy to simplify java versions
1 parent ea66223 commit 6d380d4

File tree

1 file changed

+30
-38
lines changed

1 file changed

+30
-38
lines changed

.github/workflows/maven-build-action.yaml

Lines changed: 30 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -8,53 +8,45 @@ on:
88

99
jobs:
1010
build_and_test:
11-
1211
runs-on: ubuntu-latest
13-
12+
strategy:
13+
matrix:
14+
java: [ '11', '17', '21' ]
1415
steps:
15-
- uses: actions/checkout@v3
16-
- name: Set up JDK 11
17-
uses: actions/setup-java@v3
16+
- uses: actions/checkout@v4
17+
- name: Setup JDK ${{ matrix.java }}
18+
uses: actions/setup-java@v4
1819
with:
19-
java-version: 11
20+
java-version: ${{ matrix.java }}
2021
distribution: 'temurin'
21-
22-
- name: Maven with JDK 11
22+
- name: Maven with JDK ${{ matrix.java }}
2323
run: mvn -Pall -no-transfer-progress clean install
24-
25-
- name: Maven with JDK 11 - Parallel
24+
- name: Maven with JDK ${{ matrix.java }} - Parallel
2625
run: mvn -T4 -Pall -no-transfer-progress clean install
27-
28-
- name: Maven with JDK 11 - Release dry run
26+
- name: Maven with JDK ${{ matrix.java }} - Release dry run
2927
run: mvn -Prelease-dry-run,sonatype-oss-release,release -DperformRelease -DdryRun=true -Darguments="-Dgpg.skip=true" -B release:clean release:prepare clean install
3028

31-
- name: Set up JDK 17
32-
uses: actions/setup-java@v3
29+
build_and_test_mvn4:
30+
runs-on: ubuntu-latest
31+
strategy:
32+
matrix:
33+
java: [ '17', '21' ]
34+
steps:
35+
- uses: actions/checkout@v4
36+
- name: Setup Maven4
37+
run: |
38+
MAVEN_VERSION=4.0.0-rc-3
39+
wget https://archive.apache.org/dist/maven/maven-4/$MAVEN_VERSION/binaries/apache-maven-$MAVEN_VERSION-bin.tar.gz
40+
tar xzvf apache-maven-$MAVEN_VERSION-bin.tar.gz
41+
sudo mv apache-maven-$MAVEN_VERSION /opt/maven
42+
sudo rm -f /usr/bin/mvn # Remove existing symbolic link if it exists
43+
sudo ln -s /opt/maven/bin/mvn /usr/bin/mvn # Create new symbolic link
44+
- name: Setup JDK ${{ matrix.java }}
45+
uses: actions/setup-java@v4
3346
with:
34-
java-version: 17
47+
java-version: ${{ matrix.java }}
3548
distribution: 'temurin'
36-
37-
- name: Maven with JDK 17
49+
- name: Maven4 with JDK ${{ matrix.java }}
3850
run: mvn -Pall -no-transfer-progress clean install
39-
40-
- name: Maven with JDK 17 - Parallel
51+
- name: Maven4 with JDK ${{ matrix.java }} - Parallel
4152
run: mvn -T4 -Pall -no-transfer-progress clean install
42-
43-
- name: Maven with JDK 17 - Release dry run
44-
run: mvn -Prelease-dry-run,sonatype-oss-release,release -DperformRelease -DdryRun=true -Darguments="-Dgpg.skip=true" -B release:clean release:prepare clean install
45-
46-
- name: Set up JDK 21
47-
uses: actions/setup-java@v3
48-
with:
49-
java-version: 21-ea
50-
distribution: 'temurin'
51-
52-
- name: Maven with JDK 21
53-
run: mvn -Pall -no-transfer-progress clean install
54-
55-
- name: Maven with JDK 21 - Parallel
56-
run: mvn -T4 -Pall -no-transfer-progress clean install
57-
58-
- name: Maven with JDK 21 - Release dry run
59-
run: mvn -Prelease-dry-run,sonatype-oss-release,release -DperformRelease -DdryRun=true -Darguments="-Dgpg.skip=true" -B release:clean release:prepare clean install
60-

0 commit comments

Comments
 (0)