Skip to content

Test arm64 Github Actions runners#856

Closed
marcustyphoon wants to merge 9 commits intomainfrom
arm-github-action
Closed

Test arm64 Github Actions runners#856
marcustyphoon wants to merge 9 commits intomainfrom
arm-github-action

Conversation

@marcustyphoon
Copy link
Collaborator

@marcustyphoon marcustyphoon commented Jan 17, 2025

Apparently Microsoft now has Arm Neoverse N2 runners publicly available. Was curious if they worked without any code changes.

Edit: Nope, not yet, though it looks like there are relevant tracking issues in the image repos.

[draft previews]

@github-actions
Copy link
Contributor

github-actions bot commented Jan 18, 2025

Deployed preview build to Cloudflare!

Last commit: bfc3f7f
Preview URL: https://fc816a68.discretize-gear-optimizer.pages.dev
Branch Preview URL: https://arm-github-action.discretize-gear-optimizer.pages.dev

@marcustyphoon
Copy link
Collaborator Author

marcustyphoon commented Jan 18, 2025

Nice, the ARM runner actually is faster. I guess Microsoft wasn't blowing hot air.

(Probably within margin of error, realistically, since I only did one test here, but close enough to par that ARM wins given an efficiency win, which I have to assume is real if Microsoft charges less for ARM runners when they aren't free.)

@marcustyphoon marcustyphoon reopened this Jan 18, 2025
@marcustyphoon
Copy link
Collaborator Author

marcustyphoon commented Jan 18, 2025

Seems to hold up decently, with some variation. And there should be improvements in the future like properly installing node out of the tool cache.

But this is not ideal:

Run pnpm wasm

discretize-gear-optimizer@1.0.0 wasm /home/runner/work/discretize-gear-optimizer/discretize-gear-optimizer
wasm-pack build ./wasm_module --target web --release

[INFO]: 🎯 Checking for the Wasm target...
info: downloading component 'rust-std' for 'wasm32-unknown-unknown'
info: installing component 'rust-std' for 'wasm32-unknown-unknown'
[INFO]: 🌀 Compiling to Wasm...
warning: /home/runner/work/discretize-gear-optimizer/discretize-gear-optimizer/wasm_module/.cargo/config is deprecated in favor of config.toml
note: if you need to support cargo 1.38 or earlier, you can symlink config to config.toml
Compiling proc-macro2 v1.0.92
Compiling unicode-ident v1.0.14
Compiling wasm-bindgen-shared v0.2.97
Compiling cfg-if v1.0.0
error: rustc interrupted by SIGSEGV, printing backtrace

/home/runner/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/bin/../lib/librustc_driver-3dbcf38b1888dabb.so(+0xb3ab60)[0xff21ccf3ab60]
linux-vdso.so.1(__kernel_rt_sigreturn+0x0)[0xff21d5ec47e0]

note: we would appreciate a report at https://github.com/rust-lang/rust
help: you can increase rustc's stack size by setting RUST_MIN_STACK=16777216
error: could not compile wasm-bindgen-shared (build script)

Caused by:
process didn't exit successfully: /home/runner/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/bin/rustc --crate-name build_script_build --edition=2021 /home/runner/.cargo/registry/src/index.crates.io-6f17d22bba15001f/wasm-bindgen-shared-0.2.97/build.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type bin --emit=dep-info,link -C embed-bitcode=no '--allow=clippy::type_complexity' '--allow=clippy::too_many_arguments' '--allow=clippy::overly_complex_bool_expr' '--allow=clippy::new_without_default' '--allow=clippy::large_enum_variant' -C debug-assertions=off --check-cfg 'cfg(docsrs)' --check-cfg 'cfg(feature, values())' -C metadata=273c6d757dc786a6 -C extra-filename=-273c6d757dc786a6 --out-dir /home/runner/work/discretize-gear-optimizer/discretize-gear-optimizer/wasm_module/target/release/build/wasm-bindgen-shared-273c6d757dc786a6 -C strip=debuginfo -L dependency=/home/runner/work/discretize-gear-optimizer/discretize-gear-optimizer/wasm_module/target/release/deps --cap-lints allow (signal: 11, SIGSEGV: invalid memory reference)
warning: build failed, waiting for other jobs to finish...
Error: Compiling your crate to WebAssembly failed
Caused by: Compiling your crate to WebAssembly failed
Caused by: failed to execute cargo build: exited with exit status: 101
full command: cd "./wasm_module" && "cargo" "build" "--lib" "--release" "--target" "wasm32-unknown-unknown"
 ELIFECYCLE  Command failed with exit code 1.
Error: Process completed with exit code 1.

Edit: Never mind, that's almost certainly because I manually cache the rust output without including OS/architecture in the cache key. My bad.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant