ci: add riscv64 to static Node.js build matrix#754
ci: add riscv64 to static Node.js build matrix#754
Conversation
|
The v24.5.0 riscv64 job failed immediately with Could someone re-run the failed job when there is a chance? Happy to report build times once both complete. |
|
The |
|
Just re-ran. It's surprising to me that we'd hit an issue with ppc64le, it'd have to be a regression in the manylinux2014 image I guess? |
|
Both
The Pinned |
|
Paul is investigating this
…On Thu, Apr 16, 2026 at 2:57 AM Bruno Verachten ***@***.***> wrote:
*gounthar* left a comment (pyca/infra#754)
<#754 (comment)>
Both v24.5.0 failures trace back to alpine:latest now resolving to Alpine
3.22, which ships GCC 15.2.0.
- *riscv64*: GCC 15 ICE (segfault) while compiling
deps/v8/src/execution/thread-id.cc, ~5 hours in
- *ppc64le*: GCC 15 turns -Wtemplate-body diagnostics in
deps/v8/third_party/highway/hwy/ops/ppc_vsx-inl.h into hard errors,
failing at ~9 minutes
The v20.19.4 jobs pass because those code paths don't trigger either
issue.
Pinned FROM alpine:3.21 (GCC 14.2.0) in the latest commit.
—
Reply to this email directly, view it on GitHub
<#754 (comment)>, or
unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAAAGBHXMNXYHGL4YTFAHQ34WB77JAVCNFSM6AAAAACX2HVIKCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHM2DENJXHE4DEMRTGY>
.
You are receiving this because you commented.Message ID:
***@***.***>
--
All that is necessary for evil to succeed is for good people to do nothing.
|
|
Both riscv64 jobs failed for unrelated reasons:
Added |
|
We've merged a separate ppc64le fix and I have another PR up that attempts to make this a bit less painful for building with some flags disabling node.js features we don't care about. Once that lands hopefully that'll drop the build time significantly for riscv. |
|
That sounds promising; dropping ICU in particular should cut a lot of build time on riscv64. Once #755 lands I'll rebase this on top of it and pick up those flags. |
23ec431 to
c5dce91
Compare
Uses ubuntu-24.04-riscv runner and manylinux_2_39_riscv64 for testing (manylinux2014 has no riscv64 image). Dockerfile-test updated to take a full MANYLINUX_IMAGE arg instead of constructing from MANYLINUX_ARCH. Signed-off-by: Bruno Verachten <gounthar@gmail.com>
binutils-gold is not available as a separate Alpine package on riscv64. Standard binutils (ld.bfd) is sufficient for the static Node.js build. Signed-off-by: Bruno Verachten <gounthar@gmail.com>
Node.js bundled OpenSSL hardcodes linux-x86_64 config paths and passes -m64 even when --dest-cpu=riscv64 is set. --openssl-no-asm skips arch-specific OpenSSL assembly and uses the generic config. Signed-off-by: Bruno Verachten <gounthar@gmail.com>
alpine:latest now resolves to GCC 15.2.0 which causes two separate failures when building Node.js v24.5.0: - riscv64: GCC 15 internal compiler error (segfault) in V8's thread-id.cc after ~5 hours of build time - ppc64le: GCC 15 treats highway's ppc_vsx-inl.h template-body diagnostics as errors, failing at ~9 minutes Pin to alpine:3.21 (GCC 14.2.0) to restore stable builds across all architectures. Signed-off-by: Bruno Verachten <gounthar@gmail.com>
Node.js v24.5.0 on riscv64 takes more than 6 hours to compile V8, hitting the default GitHub Actions timeout. Set timeout-minutes to 480 (8h) to let the build complete. Signed-off-by: Bruno Verachten <gounthar@gmail.com>
3e25b8d to
43c8c30
Compare
Prerequisite for #749.
The
cryptography-linux/Dockerfilepullsghcr.io/pyca/static-nodejs-riscv64:{version}at build time, but that image does not exist yet becausebuild-static-node.ymlonly covers x86_64, aarch64, and ppc64le.Changes:
ubuntu-24.04-riscvto the build matrixDockerfile-testto accept a fullMANYLINUX_IMAGEarg rather than constructingquay.io/pypa/manylinux2014_{arch}(manylinux2014 has no riscv64 image; riscv64 usesmanylinux_2_39_riscv64)The main unknown is build time. Node.js does not ship riscv64 prebuilt binaries, so this builds from source inside Alpine on the RISE runner. Alex noted other platforms already take over an hour; the riscv64 result will show whether it is in a similar range.
Signed-off-by: Bruno Verachten gounthar@gmail.com