Commit 967749b
fix(deps): upgrade shadow plugin to resolve log4j-core XmlLayout vuln (COMP-1573) (#120)
* fix(deps): upgrade shadow plugin to resolve log4j-core XmlLayout vuln (COMP-1573)
The com.github.johnrengelman.shadow 8.1.1 build plugin transitively bundled
org.apache.logging.log4j:log4j-core 2.20.0 in the build tooling classpath, which
is affected by CVE-2026-34480 / GHSA-3pxv-7cmr-fjr4 (XmlLayout fails to sanitize
characters forbidden by the XML 1.0 spec; fixed in log4j-core 2.25.4).
Migrate to the successor plugin com.gradleup.shadow 9.5.0, which ships
log4j-core 2.26.1 (>= 2.25.4). Shadow 9.x requires Gradle 9, so the Gradle
wrapper is bumped 8.13 -> 9.6.1 and the GraalVM native-build-tools plugin
0.10.6 -> 1.1.3 (first line to support Gradle 9). Verified: shadowJar builds
and all tests pass under Gradle 9.6.1.
See: https://github.com/seqeralabs/wave-cli/security/dependabot/16
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
* ci: pin graalvm/setup-graalvm to full commit SHA (COMP-1573)
The repo/org policy requires all GitHub Actions to be pinned to a full-length
commit SHA. Pin graalvm/setup-graalvm@v1 -> @cabbb10818fabc989d6dbd508e4846596d20dd2d
(v1.6.0) in build.yml (both native-image steps) and the dependency-graph workflow,
matching the SHA-pinning convention already used for the other actions.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
* ci(build): bump JDK toolchain to 25 to fix native compile (COMP-1573)
The shadow-plugin migration for the log4j fix pulled in Gradle 9 and
native-build-tools 1.1.3, whose GraalVM reachability-metadata repository
requires a newer reachability-metadata schema than GraalVM for JDK 21
provides. CI `nativeCompile` failed on that schema mismatch.
Bump the build toolchain to JDK 25 across the repo so the GraalVM
reachability metadata schema is supported:
- setup-graalvm / setup-java java-version 21 -> 25 in build.yml and
security-submit-dependecy-graph.yml
- Gradle toolchain and native launcher languageVersion 21 -> 25
- Groovy test deps 4.0.24 -> 4.0.32 (4.0.24 cannot compile against JDK 25
class files: "Unsupported class file major version 69")
sourceCompatibility/targetCompatibility stay at 17, so the shipped fat
jar still runs on JRE 17+.
Also fix a pre-existing broken test-report artifact name that referenced
the undefined matrix.java_version (collided across all OS jobs); use
matrix.os to match the nativeCompile artifact naming.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
* ci(build): use native-build-tools 0.11.5, drop JDK 25/Groovy bumps (COMP-1573)
The nativeCompile failure was not a JDK-too-old problem: native-build-tools
1.1.3 downloads the latest GraalVM reachability-metadata repository, which
uses the new unified reachability-metadata schema that GraalVM for JDK 21
(and 25.0.1) does not accept. Bumping the JDK could not fix it.
native-build-tools 0.11.x supports Gradle 9 (needed for the shadow 9.x
migration) but still uses the legacy metadata-repository schema that
GraalVM 21 accepts. Downgrading 1.1.3 -> 0.11.5 removes the schema
mismatch with the metadata repository left enabled.
This lets us revert the collateral bumps that were only introduced to
chase the 1.1.3 schema:
- native-build-tools 1.1.3 -> 0.11.5
- Gradle toolchain + native launcher languageVersion 25 -> 21
- setup-graalvm / setup-java java-version 25 -> 21
- Groovy test deps 4.0.32 -> 4.0.24
Net toolchain (GraalVM/JDK 21, Groovy 4.0.24) now matches master; the only
new tool versions are shadow 9.5.0, Gradle 9.6.1, and native-build-tools
0.11.5. Retains the setup-graalvm SHA pinning and the test-report artifact
name fix.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>1 parent 9655b24 commit 967749b
4 files changed
Lines changed: 7 additions & 7 deletions
File tree
- .github/workflows
- app
- gradle/wrapper
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
37 | 37 | | |
38 | 38 | | |
39 | 39 | | |
40 | | - | |
| 40 | + | |
41 | 41 | | |
42 | 42 | | |
43 | 43 | | |
44 | 44 | | |
45 | 45 | | |
46 | 46 | | |
47 | 47 | | |
48 | | - | |
| 48 | + | |
49 | 49 | | |
50 | 50 | | |
51 | 51 | | |
| |||
115 | 115 | | |
116 | 116 | | |
117 | 117 | | |
118 | | - | |
| 118 | + | |
119 | 119 | | |
120 | 120 | | |
121 | 121 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
11 | 11 | | |
12 | 12 | | |
13 | 13 | | |
14 | | - | |
| 14 | + | |
15 | 15 | | |
16 | 16 | | |
17 | 17 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | 3 | | |
4 | | - | |
5 | | - | |
| 4 | + | |
| 5 | + | |
6 | 6 | | |
7 | 7 | | |
8 | 8 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
17 | 17 | | |
18 | 18 | | |
19 | 19 | | |
20 | | - | |
| 20 | + | |
21 | 21 | | |
22 | 22 | | |
23 | 23 | | |
0 commit comments