willcl-ark
commented at 7:26 AM on August 18, 2026:
member
Adds:
arm64-apple-darwin
x86_64-linux-gnu
x86_64-w64-mingw32
... Guix builds to CI as a standalone workflow.
Testing exposed that manifest_build.scm depends are invalidated by a subsequent manifest_gui.scm build, so the first commit here splits these inside of BASE_CACHE. This means they can both be cached and re-used.
The second commit exports the time machine commit which makes it easier to re-use in other scripts e.g. this CI workflow, but also places like an automated Guix substitute build server.
The final commit adds the new workflow and guix install shell snippet.
DrahtBot added the label Tests on Aug 18, 2026
DrahtBot
commented at 7:27 AM on August 18, 2026:
contributor
<!--e57a25ab6845829454e8d69fc972939a-->
The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.
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-->
willcl-ark
commented at 8:08 AM on August 18, 2026:
member
A full run with no caches and guix time machine sync completed in 38m 40s.
willcl-ark force-pushed on Aug 18, 2026
hebasto
commented at 8:17 AM on August 18, 2026:
member
Testing exposed that manifest_build.scm depends are invalidated by a subsequent manifest_gui.scm build...
So there is still some juice to squeeze. I may investigate using a pre-built docker container too (possibly based off this one) to see if we can cut down on some of that wasted runner time.
However overall, I think 20 - 40 minutes is pretty acceptable for a new CI job.
willcl-ark
commented at 9:00 AM on August 18, 2026:
member
Could add a second HOST? Maybe arm64-apple-darwin, to get some LLVM toolchain coverage?
willcl-ark force-pushed on Aug 18, 2026
maflcko
commented at 9:26 AM on August 18, 2026:
member
Seems fine to add this, but I fail to see the goal or motivation?
It would be good to list at least a single historic bug that this would catch.
Recall that the CI scripts already mirror the guix env, so any compile errors should be caught by the pre-existing CI scripts.
Also, any change to guix requires matching hashes on different arches, which this pull is not doing. So non-determinism or bugs such as #35855 (comment) are not caught either here.
Again, no objection to adding this, but I think it would be easier to review if there was a goal or motivation.
fanquake
commented at 9:32 AM on August 18, 2026:
member
It would be good to list at least a single historic bug that this would catch.
These are x64 Ubuntu runners, but perhaps I could cherry-pick that and test it out?
willcl-ark force-pushed on Aug 18, 2026
willcl-ark force-pushed on Aug 18, 2026
willcl-ark renamed this: ci: add a full x86_64 Guix build to CI ci: add Guix builds to CI on Aug 18, 2026
willcl-ark force-pushed on Aug 18, 2026
DrahtBot added the label CI failed on Aug 18, 2026
DrahtBot
commented at 4:11 PM on August 18, 2026:
contributor
<!--85328a0da195eb286784d51f73fa0af9-->
🚧 At least one of the CI tasks failed.
<sub>Task lint: https://github.com/bitcoin/bitcoin/actions/runs/32157463479/job/95778244301</sub>
<sub>LLM reason (✨ experimental): CI failed because the shell locale lint check reported a missing export LC_ALL=C in .github/install-guix.sh (lint-shell-locale.py).</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>
DrahtBot removed the label CI failed on Aug 18, 2026
willcl-ark force-pushed on Aug 18, 2026
willcl-ark force-pushed on Aug 18, 2026
willcl-ark force-pushed on Aug 18, 2026
willcl-ark
commented at 8:04 AM on August 19, 2026:
member
DrahtBot added the label Needs rebase on Aug 19, 2026
depends: Make tarball creation from local directory reproducible
This guarantees `$(package)_sha256_hash` reproducibility regardless of
the default behavior of `$(build_TAR)`. Fixes caching on some systems,
for example, on FreeBSD.
529023e3f0
guix: cache GUI depends separately
The GUI manifest has a distinct Guix profile and consequently produces
different depends build IDs. Reusing one cache root lets each build replace
the other's archive, so a later build rebuilds depends.
Keep the artifacts in BASE_CACHE/BUILD and BASE_CACHE/GUI. This preserves both
variants in the existing master cache without changing depends.
1dfea8ba5e
guix: expose time-machine metadata
Make the pinned repository and commit available to callers that source the
Guix prelude.
This lets CI consume the same values as guix-build without parsing the
time-machine invocation.
b139a0c515
ci: add Guix build job
Run the single-host Guix build on pull requests and master pushes.
Use the Guix installer with a cached, verified bootstrap and retain
time-machine and depends caches to avoid repeated downloads and builds.
b50127904c
dropme: only run guix ci job3475b0b3fd
ci: add a second substitute server454cd632ac
willcl-ark force-pushed on Aug 19, 2026
DrahtBot removed the label Needs rebase on Aug 19, 2026
fanquake referenced this in commit 0f5c6d0b64 on Aug 25, 2026
fanquake closed this on Aug 25, 2026
willcl-ark
commented at 8:38 AM on August 26, 2026:
member
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-09-09 07:56 UTC