ci: add riscv64-linux build#619
Closed
gounthar wants to merge 1 commit intoWebAssembly:mainfrom
Closed
Conversation
b487a65 to
f678512
Compare
Add riscv64gc-unknown-linux-musl to the build matrix using a native ubuntu-24.04-riscv runner (RISE Project), mirroring the arm64-linux pattern which uses ubuntu-22.04-arm. Changes: - Use ubuntu-24.04-riscv runner instead of cross-compilation on x86_64 - Dockerfile.riscv64-linux: Ubuntu 24.04 base (AlmaLinux 8 has no riscv64 image); native build-essential, no cross-compiler env vars - docker-build.sh: skip wasmtime volume mount when WASI_SDK_CI_SKIP_SYSROOT is set (wasmtime is not available on riscv64 runners yet) - WASI_SDK_CI_SKIP_SYSROOT: 1 and WASI_SDK_LLDB=OFF kept as before; sysroot tests require running wasm binaries which needs wasmtime RISE runners are GitHub Actions runners for riscv64, free for open source projects: https://github.com/apps/rise-risc-v-runners Closes WebAssembly#607 Signed-off-by: Bruno Verachten <gounthar@gmail.com>
be97384 to
d4e56f2
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Add a
riscv64-linuxmatrix entry using a native RISE riscv64 runner (ubuntu-24.04-riscv), mirroring thearm64-linuxpattern which usesubuntu-22.04-arm.What changed
.github/workflows/main.yml: newriscv64-linuxentry withos: ubuntu-24.04-riscv,WASI_SDK_CI_SKIP_SYSROOT: 1, and-DWASI_SDK_LLDB=OFF. No cross-compilation flags needed — the runner is native riscv64.ci/docker/Dockerfile.riscv64-linux: Ubuntu 24.04 base (AlmaLinux 8 has no riscv64 image). Standardbuild-essentialand build tools; no cross-compiler packages or env vars.ci/docker-build.sh: wasmtime volume mount is now conditional onWASI_SDK_CI_SKIP_SYSROOTbeing unset. wasmtime is not yet available on riscv64 runners, and it is not needed when sysroot tests are skipped.Why WASI_SDK_CI_SKIP_SYSROOT
Running the sysroot tests requires executing wasm binaries via wasmtime, and wasmtime does not yet publish riscv64 binaries. Skipping sysroot tests is the same approach used by
x86_64-macos(cross-architecture wasm execution). The toolchain build itself still completes and produces the riscv64 clang/lld binaries.RISE runners
RISE (RISC-V Software Ecosystem) provides native riscv64 GitHub Actions runners free for open source projects. Access via the GitHub App: https://github.com/apps/rise-risc-v-runners
Closes #607