Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions .github/workflows/release-pypi.yml
Original file line number Diff line number Diff line change
Expand Up @@ -219,11 +219,23 @@ jobs:
ls -l "$PWD/dist"

- name: Smoke test wheel
if: matrix.rosetta != true
shell: bash
env:
PYTHON: ${{ runner.os == 'Linux' && '/opt/python/cp312-cp312/bin/python' || 'python3' }}
run: bash .github/scripts/smoke-test.sh dist

# The cross-built x86_64 wheel can't be installed by the runner's arm64
# Python. Run the whole smoke test under Rosetta with the universal
# /usr/bin/python3, so the venv, pip install, and bundled native binary
# all execute as x86_64.
- name: Smoke test wheel (x86_64 via Rosetta)
if: matrix.rosetta
shell: bash
env:
PYTHON: /usr/bin/python3
run: arch -x86_64 bash .github/scripts/smoke-test.sh dist

- name: Checksums (log only)
shell: bash
run: |
Expand Down
6 changes: 6 additions & 0 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -208,6 +208,12 @@ graalvmNative {
if (System.getenv("CODEANALYZER_NATIVE_MUSL") == "true") {
buildArgs.add("--static")
buildArgs.add("--libc=musl")
// The musl.cc gcc 11 toolchain is built with
// --enable-default-pie/--enable-static-pie, so a plain `-static`
// link produces a static-PIE. The linker then rejects GraalVM's
// image heap ("read-only segment has dynamic relocations" on
// .svm_heap). Force a classic non-PIE static executable.
buildArgs.add("-H:NativeLinkerOption=-no-pie")
}
buildArgs.add("-H:ReflectionConfigurationFiles=$projectDir/src/main/resources/META-INF/native-image-config/reflect-config.json")
buildArgs.add("-H:ResourceConfigurationFiles=$projectDir/src/main/resources/META-INF/native-image-config/resource-config.json")
Expand Down