ci: M1 Mac job fails perpetually once a PR is dequeued
Opened this issue · 1 comments
M1 Mac merge_group
tests stuck on failure
When a pull request is removed from the merge queue manually or due to failing status checks, all subsequent runs of the M1 Mac merge_group
checks in that PR fail with the following error:
error: linking with `cc` failed: exit status: 1
# --snip--
= note: ld: '___blst_platform_cap' from '/var/folders/by/4sf3w42d7kb07qp4n7dbq1w40000gn/T/rustcF7ISuF/libblst-40e37616ca5d8e14.rlib[3](1e5a6c548a13e2d4-assembly.o)' not 4-byte aligned, which cannot be encoded as a target of LDR/STR in '' from '/var/folders/by/4sf3w42d7kb07qp4n7dbq1w40000gn/T/rustcF7ISuF/libblst-40e37616ca5d8e14.rlib[3](1e5a6c548a13e2d4-assembly.o)'
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Failing runs:
https://github.com/lurk-lab/lurk-rs/actions/runs/7963456194/job/21739066576
https://github.com/lurk-lab/lurk-rs/actions/runs/7963756189/job/21739972698
Workarounds
- Wait for another commit to merge, then rebase the failing PR and add it to the merge queue again
- Force-merge, bypassing the queue
Potential solutions
- Remove
blst
from the codebase, since it seems to be the culprit of many compilation issues. This is infeasible in the short term due to its usage ingrumpkin-msm
, which is a core Lurk dependency. - Remove the Mac CI check from our
merge_group
checks, instead running on a nightly schedule. This would likely avoid the merge queue issues while preserving compatibility. GitHub-hosted M1 Mac runners are still in beta, so we can try restoring the currentmerge_group
test at a later date.
Remove blst from the c`odebase, since it seems to be the culprit of many compilation issues. This is infeasible in the short term due to its usage in grumpkin-msm, which is a core Lurk dependency.
Yes.
With that said, I strongly suspect it's related to OSX overriding the C compiler on the platform, forcing CC=gcc, CXX=g++
(and making sure gcc is installed of course) should help with those errors.