ci: add NetBSD Clang cross job #35412

pull fanquake wants to merge 2 commits into bitcoin:master from fanquake:netbsd_clang_cross changing 4 files +53 −0
  1. fanquake commented at 1:42 PM on May 29, 2026: member

    This adds a Linux cross job for NetBSD; similar to #34491 (FreeBSD).

    This uses the upcoming NetBSD 11.0 release (rc5).

  2. DrahtBot added the label Tests on May 29, 2026
  3. DrahtBot commented at 1:42 PM on May 29, 2026: contributor

    <!--e57a25ab6845829454e8d69fc972939a-->

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

    <!--006a51241073e994b41acfe9ec718e94-->

    Code Coverage & Benchmarks

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

    <!--021abf342d371248e50ceaed478a90ca-->

    Reviews

    See the guideline and AI policy for information on the review process.

    Type Reviewers
    Concept ACK hebasto
    Stale ACK willcl-ark

    If your review is incorrectly listed, please copy-paste <code>&lt;!--meta-tag:bot-skip--&gt;</code> into the comment that the bot should ignore.

    <!--174a7506f384e20aa4161008e828411d-->

    Conflicts

    Reviewers, this pull request conflicts with the following ones:

    • #35683 ([nomerge] test warp 4x windows runner by willcl-ark)

    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.

    <!--5faf32d7da4f0f540f40219e4f7537a3-->

  4. fanquake force-pushed on May 29, 2026
  5. DrahtBot added the label CI failed on May 29, 2026
  6. DrahtBot commented at 2:02 PM on May 29, 2026: contributor

    <!--85328a0da195eb286784d51f73fa0af9-->

    🚧 At least one of the CI tasks failed. <sub>Task lint: https://github.com/bitcoin/bitcoin/actions/runs/26640734145/job/78512803098</sub> <sub>LLM reason (✨ experimental): CI failed linting because ci/test/00_setup_env_netbsd_cross.sh has a shebang but incorrect permissions (644 instead of executable 755).</sub>

    <details><summary>Hints</summary>

    Try to run the tests locally, according to the documentation. However, a CI failure may still happen due to a number of reasons, for example:

    • Possibly due to a silent merge conflict (the changes in this pull request being incompatible with the current code in the target branch). If so, make sure to rebase on the latest commit of the target branch.

    • A sanitizer issue, which can only be found by compiling with the sanitizer and running the affected test.

    • An intermittent issue.

    Leave a comment here, if you need help tracking down a confusing failure.

    </details>

  7. fanquake marked this as ready for review on May 29, 2026
  8. DrahtBot removed the label CI failed on May 29, 2026
  9. fanquake force-pushed on Jun 4, 2026
  10. fanquake marked this as a draft on Jun 4, 2026
  11. fanquake force-pushed on Jun 11, 2026
  12. fanquake force-pushed on Jun 15, 2026
  13. fanquake force-pushed on Jun 25, 2026
  14. fanquake commented at 11:16 AM on June 25, 2026: member

    Simplified this to just pretty much drop all the /depends changes, and updated to use 11.0rc5.

  15. fanquake marked this as ready for review on Jun 25, 2026
  16. willcl-ark commented at 11:54 AM on June 25, 2026: member

    Looks nice to me. Run is already pleasantly fast (12m) with no caching.

    ~Can we use ccache in here~ already being used

  17. fanquake force-pushed on Jun 25, 2026
  18. fanquake commented at 12:10 PM on June 25, 2026: member

    Deduplicated sysroot in the CI config.

  19. DrahtBot added the label CI failed on Jun 25, 2026
  20. DrahtBot removed the label CI failed on Jun 25, 2026
  21. hebasto commented at 8:04 AM on July 1, 2026: member

    Concept ACK.

  22. fanquake force-pushed on Jul 1, 2026
  23. fanquake force-pushed on Jul 3, 2026
  24. fanquake referenced this in commit 81e77ee95f on Jul 3, 2026
  25. fanquake referenced this in commit ed83c0dfbd on Jul 3, 2026
  26. fanquake force-pushed on Jul 3, 2026
  27. fanquake referenced this in commit 54704dde02 on Jul 3, 2026
  28. fanquake force-pushed on Jul 6, 2026
  29. fanquake referenced this in commit 244739db9d on Jul 6, 2026
  30. willcl-ark commented at 10:14 AM on July 7, 2026: member

    All looks OK to me.

    Just one NetBSD question; I notice there are a few branches of 11 here:

    NetBSD-11.0_RC4 NetBSD-11.0_RC5 NetBSD-release-11

    ...should we not use -release-11 to avoid having to bump regularly? I'm not familar enough with the NetBSD release process to know.

    Also, I think using an 8x instance is OK here (and matches the other BSD jobs), but I think after this PR is resolved I'll test these on 4x runners too (matching the macOS cross jobs).

  31. fanquake commented at 11:05 AM on July 7, 2026: member

    ...should we not use -release-11 to avoid having to bump regularly?

    NetBSD releases are not so frequent; looks like point releases every 6 months or so? I haven't looked at -release-11 , but if it's rolling, I'm not sure we want that, because it would make the CI inherently unstable/non-reproducible.

  32. willcl-ark commented at 3:48 PM on July 7, 2026: member

    if it's rolling, I'm not sure we want that, because it would make the CI inherently unstable/non-reproducible.

    I'm not going to die on this hill, or block this PR on it, but how is this be different from other jobs where we use un-hash-pinned tags like mirror.gcr.io/debian:trixie or mirror.gcr.io/ubuntu:26.04 or mirror.gcr.io/alpine:3.24, which are all rolling versions (just whatever the docker tag resolves to on that particular day)?

    Like I said, I actually don';t know how NetBSD does its releases, so -release-11 might not even be suitable at all...

  33. fanquake force-pushed on Jul 8, 2026
  34. fanquake commented at 8:32 AM on July 8, 2026: member

    but how is this be different from other jobs where we use un-hash-pinned tags like

    I guess that will depend on what actually changes in -release-11. If there aren't major changes, like updating (major) compiler versions, then it may be more equivalent to what we are doing with the Ubuntu/Debian images. However looking in https://cdn.netbsd.org/pub/NetBSD/NetBSD-release-11/, I don't see any of the binary sets we actually want to use.

    Updated the PR to use 11.0_RC6.

  35. willcl-ark approved
  36. willcl-ark commented at 9:25 AM on July 8, 2026: member

    ACK e32403ed7b1095f1d1ac65f8144197c71d50387e

    Using the RC (and bumping to final later) seems fine to me.

  37. DrahtBot requested review from hebasto on Jul 8, 2026
  38. depends: add netbsd_LDFLAGS 093ddcad61
  39. ci: add netBSD cross CI job
    Use 11.0rc6, as the 10.x sysroot ships with a GCC that is too old to
    have bitset, source_location etc.
    cec8cd82ac
  40. fanquake force-pushed on Jul 8, 2026
  41. fanquake commented at 1:52 PM on July 8, 2026: member

    Rebased after #35649.


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: 2026-07-09 06:47 UTC