mirror of
https://github.com/apache/maven-mvnd.git
synced 2026-06-05 01:12:29 +08:00
99bd55d8dc
Early Access / Default build (without GraalVM) (push) Has been cancelled
Early Access / Build with GraalVM on macos-15 (push) Has been cancelled
Early Access / Build with GraalVM on ubuntu-24.04 (push) Has been cancelled
Early Access / Build with GraalVM on ubuntu-24.04-arm (push) Has been cancelled
Early Access / Build with GraalVM on windows-2025 (push) Has been cancelled
Early Access / Site build (push) Has been cancelled
* Pin graalvm/setup-graalvm to ASF-allowed hash and bump Java to 25 ASF policy requires GitHub Actions to use commit hashes instead of tags for third-party actions. The graalvm/setup-graalvm@v1 tag reference was blocked, causing CI startup failures. Additionally, native-maven-plugin 1.1.0 (upgraded via dependabot while CI was down) downloads reachability metadata with a schema that GraalVM for JDK 22 does not support. Bumping to JDK 25 resolves this. Also fix release.yaml source job: remove undefined GRAALVM_VERSION reference and add missing distribution parameter. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * Fix spotless formatting and make glibc patching resilient to GraalVM 25 - Fix indentation in BuildTimeEventSpy.java (spotless violation) - Replace hardcoded ls of libjvm.a/liblibchelper.a with find in the glibc patching scripts — these files were removed in GraalVM 25 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * Fix Spotless formatting, drop macOS Intel, fix matrix excludes - Fix DaemonCrashTest.java Spotless formatting violation - Remove macOS Intel (macos-15-intel) from CI matrices since Oracle dropped macOS x64 support in GraalVM 25.0.2+ - Fix exclude rules that referenced macos-latest/windows-latest instead of macos-15/windows-2025, causing extra unwanted matrix jobs - Remove darwin-amd64 deploy steps from release workflow Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * Upgrade Quarkus to 3.35.3 and Java 17 in type-description test Quarkus 3.10.0's Byte Buddy does not support JDK 25 class file format, causing test failures. Upgrade to 3.35.3 and set Java source/target to 17 (minimum required by modern Quarkus). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * Upgrade maven-invoker-plugin to 3.10.1 in invoker test project The bundled Groovy 4.0.31 in maven-invoker-plugin 3.10.1 supports JDK 25 class file version 69, fixing the verify.groovy script failure. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * Fix glibc compatibility for GraalVM 25 native builds GraalVM 25 links against stat@GLIBC_2.33 which breaks backward compatibility. Add stat symbol redefinition to pin it to older glibc versions, and separate the glibc patching into arch-specific steps (AMD64 targeting glibc 2.12, ARM64 targeting glibc 2.17). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * Fix Linux native build: use ARM runner and find for GraalVM 25 - Use ubuntu-24.04-arm runner for ARM64 builds instead of os×arch matrix that always ran on x64 - Use runner.arch instead of matrix.arch for architecture detection - Use find with 2>/dev/null for svm/clibraries paths since GraalVM 25 removed libjvm.a and liblibchelper.a from that directory Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * ci: add stat() shim for glibc <2.33 compat and relax ldd checks GraalVM 25 native-image calls stat() directly (compiled against glibc 2.33+ headers where stat is a real function). On older glibc, stat() was a macro expanding to __xstat(_STAT_VER, ...). Add a stat-compat.c shim that provides stat() by calling __xstat(1, ...) and link it into Scrt1.o so the symbol resolves at link time. Also remove the hardcoded ldd library count check (expected 4 separate libs: libc/libdl/librt/libpthread) since GraalVM 25 with +StaticExecutableWithDynamicLibC only dynamically links libc.so. The objdump GLIBC version check remains as the real guard. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * ci: fix shell syntax error in glibc patch comment Remove parentheses from bash comment that were being interpreted as shell syntax by the : (no-op) command. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * ci: add ARM64 glibc backward-compat profile and gcc wrapper Add a Maven profile activated by target/graalvm-libs-for-glibc-2.17 that configures native-image to use the patched ARM64 libraries, mirroring the existing x86_64 profile for glibc-2.12. Add gcc-aarch64 wrapper that applies glibc.redef.aarch64 symbol renaming during native-image's final link step. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * ci: fix aarch64 glibc symver directives in dynamic-libc-start.c The .symver directives hardcoded x86_64 glibc symbol versions (dlsym@GLIBC_2.2.5) which don't exist on aarch64 where the earliest version is GLIBC_2.17. Make the directives conditional on __aarch64__ to use the correct version tag per architecture. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>