Skip to content

Commit 372cdfc

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

File tree

1 file changed

+42
-49
lines changed

1 file changed

+42
-49
lines changed

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

Lines changed: 42 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -8,53 +8,46 @@ on:
88

99
jobs:
1010
build_and_test:
11-
1211
runs-on: ubuntu-latest
13-
14-
steps:
15-
- uses: actions/checkout@v3
16-
- name: Set up JDK 11
17-
uses: actions/setup-java@v3
18-
with:
19-
java-version: 11
20-
distribution: 'temurin'
21-
22-
- name: Maven with JDK 11
23-
run: mvn -Pall -no-transfer-progress clean install
24-
25-
- name: Maven with JDK 11 - Parallel
26-
run: mvn -T4 -Pall -no-transfer-progress clean install
27-
28-
- name: Maven with JDK 11 - Release dry run
29-
run: mvn -Prelease-dry-run,sonatype-oss-release,release -DperformRelease -DdryRun=true -Darguments="-Dgpg.skip=true" -B release:clean release:prepare clean install
30-
31-
- name: Set up JDK 17
32-
uses: actions/setup-java@v3
33-
with:
34-
java-version: 17
35-
distribution: 'temurin'
36-
37-
- name: Maven with JDK 17
38-
run: mvn -Pall -no-transfer-progress clean install
39-
40-
- name: Maven with JDK 17 - Parallel
41-
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-
12+
strategy:
13+
matrix:
14+
java: [ '11', '17', '21' ]
15+
name: Java ${{ matrix.java }} sample
16+
steps:
17+
- uses: actions/checkout@v4
18+
- name: Setup JDK ${{ matrix.java }}
19+
uses: actions/setup-java@v4
20+
with:
21+
java-version: ${{ matrix.java }}
22+
distribution: 'temurin'
23+
- name: Maven with JDK ${{ matrix.java }}
24+
run: mvn -Pall -no-transfer-progress clean install
25+
- name: Maven with JDK ${{ matrix.java }} - Parallel
26+
run: mvn -T4 -Pall -no-transfer-progress clean install
27+
- name: Maven with JDK ${{ matrix.java }} - Release dry run
28+
run: mvn -Prelease-dry-run,sonatype-oss-release,release -DperformRelease -DdryRun=true -Darguments="-Dgpg.skip=true" -B release:clean release:prepare clean install
29+
30+
build_and_test_mvn4:
31+
runs-on: ubuntu-latest
32+
strategy:
33+
matrix:
34+
java: [ '17', '21' ]
35+
steps:
36+
- uses: actions/checkout@v4
37+
- name: Setup Maven4
38+
run: |
39+
MAVEN_VERSION=4.0.0-rc-3
40+
wget https://archive.apache.org/dist/maven/maven-4/$MAVEN_VERSION/binaries/apache-maven-$MAVEN_VERSION-bin.tar.gz
41+
tar xzvf apache-maven-$MAVEN_VERSION-bin.tar.gz
42+
sudo mv apache-maven-$MAVEN_VERSION /opt/maven
43+
sudo rm -f /usr/bin/mvn # Remove existing symbolic link if it exists
44+
sudo ln -s /opt/maven/bin/mvn /usr/bin/mvn # Create new symbolic link
45+
- name: Setup JDK ${{ matrix.java }}
46+
uses: actions/setup-java@v4
47+
with:
48+
java-version: ${{ matrix.java }}
49+
distribution: 'temurin'
50+
- name: Maven4 with JDK ${{ matrix.java }}
51+
run: mvn -Pall -no-transfer-progress clean install
52+
- name: Maven4 with JDK ${{ matrix.java }} - Parallel
53+
run: mvn -T4 -Pall -no-transfer-progress clean install

0 commit comments

Comments
 (0)