Skip to content

ci: add FreeBSD Clang cross job#34491

Draft
fanquake wants to merge 2 commits intobitcoin:masterfrom
fanquake:freebsd_clang_cross
Draft

ci: add FreeBSD Clang cross job#34491
fanquake wants to merge 2 commits intobitcoin:masterfrom
fanquake:freebsd_clang_cross

Conversation

@fanquake
Copy link
Member

@fanquake fanquake commented Feb 3, 2026

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.

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

@DrahtBot
Copy link
Contributor

DrahtBot commented Feb 3, 2026

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.

@DrahtBot
Copy link
Contributor

DrahtBot commented Feb 3, 2026

🚧 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.

Hints

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.

Copy link
Member

@maflcko maflcko left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nice, this should catch the compile issues. Can't comment much on the build system changes, though

@@ -1,31 +1,39 @@
FREEBSD_VERSION=15.0
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

will this hard-code the version for everyone?

@fanquake fanquake force-pushed the freebsd_clang_cross branch from 28b6216 to 1aad432 Compare February 3, 2026 13:34
@DrahtBot DrahtBot removed the CI failed label Feb 3, 2026
@fanquake fanquake changed the title [RFC] FreeBSD Clang cross CI ci: add FreeBSD Clang cross job Feb 3, 2026
@DrahtBot DrahtBot added the Tests label Feb 3, 2026
@vasild
Copy link
Contributor

vasild commented Feb 4, 2026

potential determinism issues

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

@maflcko
Copy link
Member

maflcko commented Feb 4, 2026

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.

@fanquake fanquake force-pushed the freebsd_clang_cross branch 2 times, most recently from 4fc13d7 to 964fa34 Compare February 11, 2026 17:45
@fanquake fanquake force-pushed the freebsd_clang_cross branch 2 times, most recently from 6be706d to 2f969ba Compare February 27, 2026 12:20
@fanquake
Copy link
Member Author

Switched to FreeBSD 15.0, now that #34093 is merged.

@fanquake fanquake force-pushed the freebsd_clang_cross branch from 2f969ba to c35cd4a Compare March 6, 2026 16:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

ci: add (atleast one) *BSD job to the CI

5 participants