ci: Native ARM64 jobs #1163

pull real-or-random wants to merge 2 commits into bitcoin-core:master from real-or-random:202211-ci-arm64-native changing 2 files +36 −28
  1. real-or-random commented at 11:19 am on November 29, 2022: contributor
  2. real-or-random force-pushed on Nov 29, 2022
  3. real-or-random commented at 11:31 am on November 29, 2022: contributor

    CI even fails to start:

    0     Error while loading tasks: UNIMPLEMENTED: Dockerfile as CI environment is not yet supported for Arm containers!!
    

    (https://cirrus-ci.com/build/4859893270708224).

    So this is going to be much more difficult, closing for now…

  4. real-or-random closed this on Nov 29, 2022

  5. real-or-random reopened this on Jun 28, 2023

  6. real-or-random marked this as ready for review on Jun 28, 2023
  7. real-or-random commented at 3:45 pm on June 28, 2023: contributor
    Let’s see what CI is doing here after support for Dockerfile CI on ARM has been added. #1153 (comment)
  8. real-or-random marked this as a draft on Jun 28, 2023
  9. ci: Refactor Linux yaml snippet to allow for different containers e5686a2390
  10. real-or-random force-pushed on Jun 29, 2023
  11. WIP ci: Enable native ARM64 jobs fca59626e2
  12. real-or-random force-pushed on Jun 29, 2023
  13. real-or-random cross-referenced this on Jun 29, 2023 from issue ci: Test on development snapshots of GCC and Clang by real-or-random
  14. real-or-random commented at 10:21 am on June 30, 2023: contributor

    Okay, so ARM64 builds work!

    But ARM32 builds do not run. I tried to play around with this a bit using the Cirrus CI terminal, and I can’t make it work. Giving up for now, but here are some notes:

    • Error message was Cannot execute binary file: Exec format error
    • This indicates that the CPU simply does not support AArch32.
    • Indeed, not all ARM64 CPUs are backwards-compatible, but the one the task was running on is a Neoverse N1 and that one has AArch32 support. (https://developer.arm.com/documentation/100616/0301/functional-description/introduction/features)
    • We need CONFIG_COMPAT in the kernel, but this was set.
    • I’ve seen suggestions to use setarch linux32 -B [cmd] to run binaries, but this not possible from within unprivileged Docker…

    I’ll rework this to use only ARM64 then.

  15. real-or-random cross-referenced this on Aug 15, 2023 from issue ci: Future of CI after Cirrus pricing change by real-or-random
  16. real-or-random commented at 4:25 pm on August 28, 2023: contributor
    I’m currently looking into this.
  17. MarcoFalke commented at 10:05 am on October 1, 2023: none
    I think this can be closed now?
  18. real-or-random closed this on Oct 2, 2023


github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin-core/secp256k1. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2024-12-27 16:15 UTC

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