ci: add FreeBSD Clang cross job #34491

pull fanquake wants to merge 2 commits into bitcoin:master from fanquake:freebsd_clang_cross changing 4 files +73 −21
  1. fanquake commented at 12:28 pm on February 3, 2026: member

    Alternative to #33562, which was adding a native FreeBSD job; however that had issues with permissions/caching, as well as potential determinism issues. This adds a FreeBSD cross job using Linux and Clang.

    This is using FreeBSD 14,3, which avoids the issue in #34093.

    Would close #33438. The same changes here could also be used to produce FreeBSD binaries out of Guix.

  2. DrahtBot commented at 12:28 pm on February 3, 2026: contributor

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

    Reviews

    See the guideline for information on the review process. A summary of reviews will appear here.

    Conflicts

    Reviewers, this pull request conflicts with the following ones:

    • #31425 (RFC: Riscv bare metal CI job by sedited)

    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.

  3. fanquake force-pushed on Feb 3, 2026
  4. DrahtBot added the label CI failed on Feb 3, 2026
  5. DrahtBot commented at 12:41 pm on February 3, 2026: contributor

    🚧 At least one of the CI tasks failed. Task lint: https://github.com/bitcoin/bitcoin/actions/runs/21630222694/job/62340895630 LLM reason (✨ experimental): Lint failure: a script lacks executable permission (ci/test/00_setup_env_freebsd_cross.sh) causing lint-files.py to fail.

    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.

  6. in ci/test/01_base_install.sh:112 in 28b62160db
    103@@ -104,4 +104,17 @@ if [ -n "$XCODE_VERSION" ] && [ ! -d "${DEPENDS_DIR}/SDKs/${OSX_SDK_BASENAME}" ]
    104   tar -C "${DEPENDS_DIR}/SDKs" -xf "$OSX_SDK_PATH"
    105 fi
    106 
    107+mkdir -p "${DEPENDS_DIR}/SDKs/freebsd-cross-${FREEBSD_VERSION}"
    108+
    109+FREEBSD_SDK_BASENAME="freebsd-cross-${XCODE_VERSION}"
    110+
    111+if [ -n "$FREEBSD_VERSION" ] && [ ! -d "${DEPENDS_DIR}/SDKs/${FREEBSD_SDK_BASENAME}" ]; then
    112+  FREEBSD_SDK_FILENAME="base-15.0.txz"
    


    maflcko commented at 12:49 pm on February 3, 2026:
    0  FREEBSD_SDK_FILENAME="base-${FREEBSD_VERSION}.txz"
    

    fanquake commented at 2:02 pm on February 3, 2026:
    Added
  7. in depends/hosts/freebsd.mk:1 in 28b62160db
    0@@ -1,31 +1,39 @@
    1+FREEBSD_VERSION=15.0
    


    maflcko commented at 12:49 pm on February 3, 2026:
    will this hard-code the version for everyone?
  8. in ci/test/00_setup_env_freebsd_cross.sh:12 in 28b62160db
     7+export LC_ALL=C.UTF-8
     8+
     9+export CONTAINER_NAME=ci_freebsd_cross
    10+export CI_IMAGE_NAME_TAG="mirror.gcr.io/ubuntu:24.04"
    11+export APT_LLVM_V="21"
    12+export FREEBSD_VERSION=15.0
    


    maflcko commented at 12:49 pm on February 3, 2026:
    maybe use 14.3 for now, to avoid the failure?

    hebasto commented at 1:40 pm on February 3, 2026:
    Perhaps it won’t help.

    fanquake commented at 1:59 pm on February 3, 2026:

    maybe use 14.3 for now, to avoid the failure?

    Yea, that works, so I’ve pushed it up for now.

  9. maflcko commented at 12:51 pm on February 3, 2026: member
    nice, this should catch the compile issues. Can’t comment much on the build system changes, though
  10. fanquake force-pushed on Feb 3, 2026
  11. DrahtBot removed the label CI failed on Feb 3, 2026
  12. fanquake renamed this:
    [RFC] FreeBSD Clang cross CI
    ci: add FreeBSD Clang cross job
    on Feb 3, 2026
  13. DrahtBot added the label Tests on Feb 3, 2026
  14. vasild commented at 5:55 am on February 4, 2026: contributor

    potential determinism issues

    You can drop this from the OP, given #34093 (comment)

  15. maflcko commented at 6:56 am on February 4, 2026: member

    potential determinism issues

    You can drop this from the OP, given #34093 (comment)

    This refers to the alternative approach, which was using unpinned third-party deps, so I think the pull request description is correct.

  16. fanquake force-pushed on Feb 6, 2026
  17. depends: FreeBSD cross with Clang f2ded38605
  18. ci: add FreeBSD cross CI job 964fa3410d
  19. fanquake force-pushed on Feb 11, 2026

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-02-18 09:13 UTC

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