Skip to content

Commit d836886

Browse files
committed
Build with multiple Java versions in CI
1 parent aa44cf7 commit d836886

File tree

3 files changed

+30
-12
lines changed

3 files changed

+30
-12
lines changed

.github/workflows/ci.yml

Lines changed: 23 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,24 @@
11
name: "CI"
22
on: [push, pull_request]
3+
4+
env:
5+
DEFAULT_JAVA_VERSION: 17
6+
37
jobs:
48
build:
5-
name: Build
9+
name: Build for Java ${{ matrix.java }}
610
runs-on: ubuntu-latest
11+
strategy:
12+
fail-fast: false
13+
matrix:
14+
java:
15+
- 17
16+
- 18
17+
- 19
18+
- 20
19+
- 21
20+
- 22
21+
- 23
722
steps:
823
- name: 'Checkout'
924
uses: actions/checkout@v2
@@ -19,10 +34,10 @@ jobs:
1934
- name: Validate Gradle wrapper
2035
uses: gradle/wrapper-validation-action@v1
2136
- name: 'Setup Java'
22-
uses: actions/setup-java@v1
37+
uses: actions/setup-java@v4
2338
with:
24-
java-version: 17
25-
java-package: jdk
39+
java-version: ${{ matrix.java }}
40+
distribution: adopt-hotspot
2641
- name: 'Mark tag as release'
2742
if: startsWith(github.ref, 'refs/tags/')
2843
run: echo "RELEASE=true" >> $GITHUB_ENV
@@ -60,28 +75,28 @@ jobs:
6075
CURSEFORGE_KEY_SECRET: ${{ secrets.CURSEFORGE_KEY_SECRET }}
6176
run: ./gradlew curseforge
6277
- name: 'Deploy to Modrinth'
63-
if: startsWith(github.ref, 'refs/tags/')
78+
if: startsWith(github.ref, 'refs/tags/') && startsWith(matrix.java, env.DEFAULT_JAVA_VERSION)
6479
env:
6580
MODRINTH_KEY_SECRET: ${{ secrets.MODRINTH_KEY_SECRET }}
6681
run: ./gradlew modrinth
6782
- name: 'Create GitHub release'
6883
id: create_release
69-
if: startsWith(github.ref, 'refs/tags/')
84+
if: startsWith(github.ref, 'refs/tags/') && startsWith(matrix.java, env.DEFAULT_JAVA_VERSION)
7085
uses: actions/create-release@v1
7186
env:
7287
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
7388
with:
7489
tag_name: ${{ github.ref }}
7590
release_name: ${{ github.ref }}
7691
- name: 'Deploy to Maven'
77-
if: startsWith(github.ref, 'refs/heads/master')
92+
if: startsWith(github.ref, 'refs/heads/master') && startsWith(matrix.java, env.DEFAULT_JAVA_VERSION)
7893
env:
7994
MAVEN_URL: ${{ secrets.MAVEN_URL }}
8095
MAVEN_USERNAME: ${{ secrets.MAVEN_USERNAME }}
8196
MAVEN_KEY: ${{ secrets.MAVEN_KEY }}
8297
run: ./gradlew publish
8398
- name: 'Deploy JavaDoc to GitHub Pages'
84-
if: startsWith(github.ref, 'refs/heads/master')
99+
if: startsWith(github.ref, 'refs/heads/master') && startsWith(matrix.java, env.DEFAULT_JAVA_VERSION)
85100
uses: JamesIves/[email protected]
86101
with:
87102
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

build.gradle

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -115,10 +115,12 @@ dependencies {
115115
transitive = false
116116
}
117117

118-
modLib "org.graalvm.sdk:graal-sdk:22.3.2"
119-
shadow "org.graalvm.sdk:graal-sdk:22.3.2"
120-
modLib "org.graalvm.js:js:22.3.2"
121-
shadow "org.graalvm.js:js:22.3.2"
118+
// https://mvnrepository.com/artifact/org.graalvm.sdk/graal-sdk
119+
modLib "org.graalvm.sdk:graal-sdk:${project.graal_version}"
120+
shadow "org.graalvm.sdk:graal-sdk:${project.graal_version}"
121+
// https://mvnrepository.com/artifact/org.graalvm.js/js
122+
modLib "org.graalvm.js:js:${project.graal_version}"
123+
shadow "org.graalvm.js:js:${project.graal_version}"
122124

123125

124126
// Project lombok

gradle.properties

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ integrateddynamics_version=1.19.2-1.21.3-721
66
release_type=release
77
fingerprint=bd0353b3e8a2810d60dd584e256e364bc3bedd44
88

9+
graal_version=22.3.2
910
commoncapabilities_version=1.19.2-2.9.0-88
1011

1112
# Workaround for Spotless bug

0 commit comments

Comments
 (0)