Skip to content

Commit 333b552

Browse files
committed
Build with multiple Java versions in CI
1 parent 05d53da commit 333b552

File tree

4 files changed

+36
-12
lines changed

4 files changed

+36
-12
lines changed

.github/workflows/ci.yml

Lines changed: 30 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,32 @@
11
name: "CI"
22
on: [push, pull_request]
3+
4+
env:
5+
DEFAULT_JAVA_VERSION: 17
6+
DEFAULT_JAVA_DISTRIBUTION: 'microsoft'
7+
38
jobs:
49
build:
510
name: Build
611
runs-on: ubuntu-latest
12+
strategy:
13+
fail-fast: false
14+
matrix:
15+
java:
16+
- 17
17+
- 18
18+
- 19
19+
- 20
20+
- 21
21+
- 22
22+
- 23
23+
distribution:
24+
- 'adopt-hotspot'
25+
include:
26+
- java: 17
27+
distribution: 'microsoft'
28+
- java: 21
29+
distribution: 'microsoft'
730
steps:
831
- name: 'Checkout'
932
uses: actions/checkout@v2
@@ -21,8 +44,8 @@ jobs:
2144
- name: 'Setup Java'
2245
uses: actions/setup-java@v1
2346
with:
24-
java-version: 17
25-
java-package: jdk
47+
distribution: ${{ matrix.distribution }}
48+
java-version: ${{ matrix.java }}
2649
- name: 'Mark tag as release'
2750
if: startsWith(github.ref, 'refs/tags/')
2851
run: echo "RELEASE=true" >> $GITHUB_ENV
@@ -55,33 +78,33 @@ jobs:
5578
if: ${{ env.COVERALLS_REPO_TOKEN }}
5679
run: ./gradlew test jacocoTestReport coveralls
5780
- name: 'Deploy to CurseForge'
58-
if: startsWith(github.ref, 'refs/tags/')
81+
if: startsWith(github.ref, 'refs/tags/') && startsWith(matrix.java, env.DEFAULT_JAVA_VERSION) && startsWith(matrix.distribution, env.DEFAULT_JAVA_DISTRIBUTION)
5982
env:
6083
CURSEFORGE_KEY_SECRET: ${{ secrets.CURSEFORGE_KEY_SECRET }}
6184
run: ./gradlew curseforge
6285
- name: 'Deploy to Modrinth'
63-
if: startsWith(github.ref, 'refs/tags/')
86+
if: startsWith(github.ref, 'refs/tags/') && startsWith(matrix.java, env.DEFAULT_JAVA_VERSION) && startsWith(matrix.distribution, env.DEFAULT_JAVA_DISTRIBUTION)
6487
env:
6588
MODRINTH_KEY_SECRET: ${{ secrets.MODRINTH_KEY_SECRET }}
6689
run: ./gradlew modrinth
6790
- name: 'Create GitHub release'
6891
id: create_release
69-
if: startsWith(github.ref, 'refs/tags/')
92+
if: startsWith(github.ref, 'refs/tags/') && startsWith(matrix.java, env.DEFAULT_JAVA_VERSION) && startsWith(matrix.distribution, env.DEFAULT_JAVA_DISTRIBUTION)
7093
uses: actions/create-release@v1
7194
env:
7295
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
7396
with:
7497
tag_name: ${{ github.ref }}
7598
release_name: ${{ github.ref }}
7699
- name: 'Deploy to Maven'
77-
if: startsWith(github.ref, 'refs/heads/master')
100+
if: startsWith(github.ref, 'refs/heads/master') && startsWith(matrix.java, env.DEFAULT_JAVA_VERSION) && startsWith(matrix.distribution, env.DEFAULT_JAVA_DISTRIBUTION)
78101
env:
79102
MAVEN_URL: ${{ secrets.MAVEN_URL }}
80103
MAVEN_USERNAME: ${{ secrets.MAVEN_USERNAME }}
81104
MAVEN_KEY: ${{ secrets.MAVEN_KEY }}
82105
run: ./gradlew publish
83106
- name: 'Deploy JavaDoc to GitHub Pages'
84-
if: startsWith(github.ref, 'refs/heads/master')
107+
if: startsWith(github.ref, 'refs/heads/master') && startsWith(matrix.java, env.DEFAULT_JAVA_VERSION) && startsWith(matrix.distribution, env.DEFAULT_JAVA_DISTRIBUTION)
85108
uses: JamesIves/[email protected]
86109
with:
87110
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

build.gradle

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -105,12 +105,12 @@ dependencies {
105105
transitive = false
106106
}
107107

108-
modLib "org.graalvm.sdk:graal-sdk:22.3.2"
109-
shadow "org.graalvm.sdk:graal-sdk:22.3.2"
110-
modLib ("org.graalvm.js:js:22.3.2") {
108+
modLib "org.graalvm.sdk:graal-sdk:${project.graal_version}"
109+
shadow "org.graalvm.sdk:graal-sdk:${project.graal_version}"
110+
modLib ("org.graalvm.js:js:${project.graal_version}") {
111111
exclude group: 'com.ibm.icu', module: 'icu4j'
112112
}
113-
shadow "org.graalvm.js:js:22.3.2"
113+
shadow "org.graalvm.js:js:${project.graal_version}"
114114

115115

116116
// 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.20.1-1.21.3-723
66
release_type=release
77
fingerprint=bd0353b3e8a2810d60dd584e256e364bc3bedd44
88

9+
graal_version=22.3.2
910
commoncapabilities_version=1.20.1-2.9.0-98
1011

1112
# Workaround for Spotless bug
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
distributionBase=GRADLE_USER_HOME
22
distributionPath=wrapper/dists
3-
distributionUrl=https\://services.gradle.org/distributions/gradle-8.1.1-bin.zip
3+
distributionUrl=https\://services.gradle.org/distributions/gradle-8.10-bin.zip
44
networkTimeout=10000
55
zipStoreBase=GRADLE_USER_HOME
66
zipStorePath=wrapper/dists

0 commit comments

Comments
 (0)