ci: Add macOS cross task for arm64-apple-darwin #33549

pull maflcko wants to merge 2 commits into bitcoin:master from maflcko:2510-arm-mac-ci changing 4 files +30 −5
  1. maflcko commented at 1:11 pm on October 6, 2025: member

    Cross compiling to Intel macOS seems fine, but it would be good to cross compile to arm64-apple-darwin as well.

    Further reading:

  2. DrahtBot added the label Tests on Oct 6, 2025
  3. DrahtBot commented at 1:11 pm on October 6, 2025: contributor

    The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.

    Code Coverage & Benchmarks

    For details see: https://corecheck.dev/bitcoin/bitcoin/pulls/33549.

    Reviews

    See the guideline for information on the review process.

    Type Reviewers
    ACK Sjors, hodlinator

    If your review is incorrectly listed, please react with 👎 to this comment and the bot will ignore it on the next update.

    Conflicts

    Reviewers, this pull request conflicts with the following ones:

    • #33620 (ci: Build ci_native_base image layer by maflcko)
    • #33562 (DRAFT: add a freebsd job using systemlibs by willcl-ark)
    • #33185 (guix: update time-machine to 5cb84f2013c5b1e48a7d0e617032266f1e6059e2 by fanquake)
    • #32162 (depends: Switch from multilib to platform-specific toolchains by hebasto)

    If you consider this pull request important, please also help to review the conflicting pull requests. Ideally, start with the one that should be merged first.

  4. maflcko force-pushed on Oct 6, 2025
  5. Sjors commented at 9:46 am on October 8, 2025: member

    The title is a bit confusing: “Use ARM instead of Intel in macOS cross task”

    Maybe say “Build for” instead of “use”, since the job uses Ubuntu to build.

    It might be better to test cross compilation for both x86 and arm, though if that takes too much CI resources then arm is probably the more important target.

    Briefly running the cross-compiled x86 binary on a native x86 CI machine would be useful, but it looks like Rosetta is the best we’ll get from Github.

  6. maflcko renamed this:
    ci: Use ARM instead of Intel in macOS cross task
    ci: Build for ARM instead of Intel in macOS cross task
    on Oct 8, 2025
  7. maflcko commented at 9:49 am on October 8, 2025: member

    It might be better to test cross compilation for both x86 and arm, though if that takes too much CI resources then arm is probably the more important target.

    Briefly running the cross-compiled x86 binary on a native x86 CI machine would be useful, but it looks like Rosetta is the best we’ll get from Github.

    Happy to add this to my nightly CI repo, but it doesn’t seem like a good use of CI resources here. Though, best I can do is the Rosetta 2 from GitHub.

  8. fanquake commented at 9:54 am on October 8, 2025: member

    but it doesn’t seem like a good use of CI resources here.

    Having at least compilation coverage of every target we are shipping a release binary for seems like something we should have? Post switchover we are much less constrained on the CI resources front.

  9. ci: Refactor get_previous_releases step in win-test-cross task
    This refactor does not change behavior, but allows the step to be
    re-used in other tasks, such as a mac-test-cross task
    fa8c750a0a
  10. ci: Add macOS cross task for arm64 fad5a7101c
  11. maflcko renamed this:
    ci: Build for ARM instead of Intel in macOS cross task
    ci: Add macOS cross task for arm64-apple-darwin
    on Oct 8, 2025
  12. maflcko force-pushed on Oct 8, 2025
  13. maflcko commented at 11:04 am on October 8, 2025: member

    Having at least compilation coverage of every target we are shipping a release binary for seems like something we should have? Post switchover we are much less constrained on the CI resources front.

    Thx, done. Also, agree that cross-compilation is cheap and fast.

  14. Sjors commented at 11:27 am on October 8, 2025: member

    utACK fad5a7101cc3dccbb525cfe9afc105aace8da88e

    CI log suggests it worked.

  15. maflcko requested review from hodlinator on Oct 13, 2025
  16. in .github/workflows/ci.yml:1 in fa8c750a0a outdated


    hodlinator commented at 8:32 am on October 14, 2025:

    nits in fa8c750a0aff9c03270b71a91536639f3922eed8: Can’t see any reference in the configs/scripts for how this step is reused for Mac. Maybe there’s some part of the Cirrus config I’m not finding, although I can’t see it being run in the logs either (https://productionresultssa9.blob.core.windows.net/actions-results/b7d9a1c2-e433-4d61-91b6-663cde22c2f6/workflow-job-run-8d60d8fe-2ef0-566b-bad9-1d540924800c/logs/job/job-logs.txt?rsct=text%2Fplain&se=2025-10-14T09%3A00%3A24Z&sig=F60Lcc0LkB2xmwQ8QEIREe5JYNIARFMwHunBtS%2FVfGw%3D&ske=2025-10-14T19%3A50%3A15Z&skoid=ca7593d4-ee42-46cd-af88-8b886a2f84eb&sks=b&skt=2025-10-14T07%3A50%3A15Z&sktid=398a6654-997b-47e9-b12b-9515b896b4de&skv=2025-11-05&sp=r&spr=https&sr=b&st=2025-10-14T08%3A50%3A19Z&sv=2025-11-05). Good simplification though.

    Seems more precise with:

    0- mac-test-cross
    1+ macOS-cross
    

    hodlinator commented at 8:35 am on October 14, 2025:

    reviewed: Diffed against ci/test/00_setup_env_mac_cross.sh and only CONTAINER_NAME & HOST differ by CPU-arch, as expected.

    Makes sense to have ARM be the main one going forward and move the old setup to “_intel”.


    maflcko commented at 8:57 am on October 14, 2025:
    It is not used right now, but can be in the future. This is a separate commit. I’ll adjust the commit message the next time I have to re-touch to clarify this further.
  17. hodlinator approved
  18. hodlinator commented at 8:51 am on October 14, 2025: contributor
    crACK fad5a7101cc3dccbb525cfe9afc105aace8da88e
  19. maflcko requested review from fanquake on Oct 15, 2025
  20. fanquake merged this on Oct 15, 2025
  21. fanquake closed this on Oct 15, 2025

  22. maflcko deleted the branch on Oct 15, 2025

github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2025-11-01 00:13 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me