Skip to content

Commit 236c19c

Browse files
cursoragenttimfox
andcommitted
fix(ci): use JDK 21 for Android Gradle jobs
Gradle 8.x on JDK 17 fails instrumenting bcprov-jdk18on 1.79 (Java 21 bytecode). Align CI and JoyStick publish workflow with Temurin 21. Co-authored-by: Tim Fox <timfox@outlook.com>
1 parent 2b48e65 commit 236c19c

4 files changed

Lines changed: 7 additions & 6 deletions

File tree

.github/workflows/build.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -269,7 +269,7 @@ jobs:
269269
uses: actions/setup-java@c1e323688fd81a25caa38c78aa6df2d33d3e20d9 # v4
270270
with:
271271
distribution: "temurin"
272-
java-version: "17"
272+
java-version: "21"
273273
cache: "gradle"
274274
cache-dependency-path: |
275275
**/*.gradle*
@@ -779,7 +779,7 @@ jobs:
779779
uses: actions/setup-java@c1e323688fd81a25caa38c78aa6df2d33d3e20d9 # v4
780780
with:
781781
distribution: "temurin"
782-
java-version: "17"
782+
java-version: "21"
783783
cache: "gradle"
784784
cache-dependency-path: |
785785
**/*.gradle*

.github/workflows/ci.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -267,7 +267,8 @@ jobs:
267267
uses: actions/setup-java@c1e323688fd81a25caa38c78aa6df2d33d3e20d9 # v4
268268
with:
269269
distribution: "temurin"
270-
java-version: "17"
270+
# JDK 21+: Gradle 8.x must instrument deps with Java 21 bytecode (e.g. BouncyCastle 1.79)
271+
java-version: "21"
271272
cache: "gradle"
272273
cache-dependency-path: |
273274
**/*.gradle*

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ See [Development helpers](#development-helpers) and [CONTRIBUTING.md](CONTRIBUTI
102102

103103
## CI and workflows
104104

105-
GitHub Actions on **`main`** / **`master`** run **[`.github/workflows/ci.yml`](.github/workflows/ci.yml)** (Linux containers, macOS, Windows, Android, optional log checks). **[`build.yml`](.github/workflows/build.yml)** (ETLBuild) runs on tagged releases, a weekly schedule, and manual dispatch. **[`snapcraft.yml`](.github/workflows/snapcraft.yml)** builds the upstream **[etlegacy-snap](https://github.com/etlegacy/etlegacy-snap)** tree after ETLBuild completes; it expects **`SNAPCRAFT_STORE_CREDENTIALS`** where publishing is desired.
105+
GitHub Actions on **`main`** / **`master`** run **[`.github/workflows/ci.yml`](.github/workflows/ci.yml)** (Linux containers, macOS, Windows, Android, optional log checks). The **Android** job uses **JDK 21** in CI so Gradle can handle current dependency bytecode (AGP 8.13 pulls libraries with multi-release JARs). **[`build.yml`](.github/workflows/build.yml)** (ETLBuild) runs on tagged releases, a weekly schedule, and manual dispatch. **[`snapcraft.yml`](.github/workflows/snapcraft.yml)** builds the upstream **[etlegacy-snap](https://github.com/etlegacy/etlegacy-snap)** tree after ETLBuild completes; it expects **`SNAPCRAFT_STORE_CREDENTIALS`** where publishing is desired.
106106

107107
Forks without **`LEGACY_CI_WEBHOOK`** still get a full CI signal; the optional Discord notify step is skipped when that secret is unset.
108108

app/libs/joystick/.github/workflows/build.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,9 @@ jobs:
2222
fetch-tags: true
2323

2424
- uses: actions/setup-java@c1e323688fd81a25caa38c78aa6df2d33d3e20d9 # v4
25-
name: Setup Java 17
25+
name: Setup Java 21
2626
with:
27-
java-version: '17'
27+
java-version: '21'
2828
distribution: 'temurin'
2929
cache: 'gradle'
3030

0 commit comments

Comments
 (0)