2222 fail-fast : true
2323 matrix :
2424 os : [ ubuntu-latest, macOS-latest, macOS-12, windows-latest ]
25+ setup : [ graalvm ]
26+ include :
27+ - os : ubuntu-latest
28+ setup : java
2529 runs-on : ${{ matrix.os }}
2630 steps :
2731 - name : ' Checkout GitHub repository'
@@ -35,41 +39,50 @@ jobs:
3539 uses : ilammy/msvc-dev-cmd@v1
3640
3741 - name : ' Set up GraalVM'
42+ if : ${{ matrix.setup == 'graalvm' }}
3843 uses : graalvm/setup-graalvm@v1
3944 with :
4045 java-version : ${{ env.JAVA_VERSION }}
4146 distribution : ${{ env.GRAAL_DISTRIBUTION }}
4247 github-token : ${{ secrets.GITHUB_TOKEN }}
4348 native-image-job-reports : ' true'
4449
50+ - name : ' Set up Java'
51+ if : ${{ matrix.setup == 'java' }}
52+ uses : actions/setup-java@v4
53+ with :
54+ distribution : ${{ env.JAVA_DISTRO }}
55+ java-version : ${{ env.JAVA_VERSION }}
56+
4557 - name : ' Build Native Image (Linux)'
46- if : ${{ runner.os == 'Linux' }}
58+ if : ${{ runner.os == 'Linux' && matrix.setup == 'graalvm' }}
4759 run : |
4860 ./mvnw -ntp -B --file pom.xml -Pnative package
4961
5062 - name : ' Build Native Image (macOS)'
51- if : ${{ runner.os == 'macOS' }}
63+ if : ${{ runner.os == 'macOS' && matrix.setup == 'graalvm' }}
5264 run : |
5365 ./mvnw -ntp -B --file pom.xml -Pnative package "-DskipTests"
5466
5567 - name : ' Build Native Image (Windows)'
56- if : ${{ runner.os == 'windows' }}
68+ if : ${{ runner.os == 'windows' && matrix.setup == 'graalvm' }}
5769 run : |
5870 ./mvnw -ntp -B --file pom.xml -Pnative package "-DskipTests"
5971
60- - name : ' Build Distribution'
61- run : |
62- ./mvnw -ntp -B --file pom.xml -Pdist package -DskipTests
63-
6472 - name : ' Build Debian Package (Linux)'
65- if : ${{ runner.os == 'Linux' }}
73+ if : ${{ runner.os == 'Linux' && matrix.setup == 'graalvm' }}
6674 run : |
6775 ./mvnw -ntp -B --file pom.xml -Pdeb package -DskipTests
6876
77+ - name : ' Build Distribution'
78+ if : ${{ runner.os == 'Linux' && matrix.setup == 'java' }}
79+ run : |
80+ ./mvnw -ntp -B --file pom.xml -Pdist package -DskipTests
81+
6982 - name : ' Upload build artifact'
7083 uses : actions/upload-artifact@v4
7184 with :
72- name : artifacts-${{ runner.os }}-${{ runner.arch }}
85+ name : artifacts-${{ runner.os }}-${{ runner.arch }}-${{ matrix.setup }}
7386 path : |
7487 dist/*.zip
7588 dist/*.tar.gz
0 commit comments