Github-Pull: #32989
Rebased-From: 9c2b96e0d03
This sets the build dir at build time so that Apple SDK gets installed
in the correct/expected location for the runtime to find it.
Co-authored-by: Max Edwards <youwontforgetthis@gmail.com>
Github-Pull: #32989
Rebased-From: 94a09325475
This rebase also includes part of e87429a2d0f23eb59526d335844fa5ff5b50b21f
adding `$DOCKER_BUILD_CACHE_ARG \` to the `docker build` command.
Using buildx is required to properly load the correct driver, for use
with registry caching. Neither build, nor BUILDKIT=1 currently do this
properly.
Use of `docker buildx build` is compatible with podman.
Github-Pull: #32989
Rebased-From: fdf64e55324
Another action to reduce boilerplate in the main ci.yml file.
This action will set up a docker builder compatible with caching build
layers to a container registry using the `gha` build driver.
It will then configure the docker build cache args.
Github-Pull: #32989
Rebased-From: 33ba073df7a
If set, Cirrus runners will be used on pushes to, and pull requests
against, this repository.
Forks can set this if they have their own cirrus runners.
Github-Pull: #32989
Rebased-From: b232b0fa5e9
Add "Restore" and "Save" caching actions.
These actions reduce boilerplate in the main ci.yml configuration file.
These actions are implemented so that caches will be saved on `push`
only.
When a pull request is opened it will cache hit on the caches from the
lastest push, or in the case of depends will hit on any matching depends
hash, falling back to partial matches.
Depends caches are hashed using
`$(git ls-tree HEAD depends "ci/test/$FILE_ENV" | sha256sum | cut -d' ' -f1)`
and this hash is passed in as an input to the actions. This means we
direct cache hit in cases where depends would not be re-built, otherwise
falling back to a partial match.
Previous releases cache is hashed similarly to depends, but using the
test/get_previous_releases.py file.
The cirruslabs cache action will fallback transparently to GitHub's
cache in the case that the job is not being run on a Cirrus Runner,
making these compatible with running on forks (on free GH hardware).
The getpeerinfo docs incorrectly specified the ping durations as
milliseconds. This was incorrectly changed in a3789c700b5a43efd4b366b4241ae840d63f2349
(released in v25; master since Sept. 2022). The correct duration unit
is seconds.
Also, remove the documentation of the getpeerinfo RPC response from the
ping RPC since it's incomplete. Better to just reference the getpeerinfo
RPC and it's documenation for this.
Github-Pull: #33133
Rebased-From: 1252eeb997df2eb12c33d92eb1a5c9d6643a67ff
Currently there is a warning for this in guix-build, but we also need
one in guix-codesign, otherwise the codesigned hashes are not
reproducible.
Move common functionality into prelude and call the function in both
guix actions.
Github-Pull: #33073
Rebased-From: 1bed0f734b3f2dd876193b5cad303bfab1d250d5
log.exception is more verbose and useful to debug timeouts.
Also, log stderr for CalledProcessError to make debugging easier.
Github-Pull: #33001
Rebased-From: faa3e684118bffa7a98cf76eeeb59243219df900
This adds a missing catch for BaseException (e.g. SystemExit), which
would otherwise be silently ignored.
Also, remove the redundant other catches, which are just calling
log.exception with a redundant log message.
Github-Pull: #33001
Rebased-From: fa30b34026f76a5b8af997152fced2d281782e0d
When using CMake policies 3.14 and below, the `export(PACKAGE)` command
by default populates the user package registry, which is stored outside
the build tree. Setting the `CMAKE_EXPORT_NO_PACKAGE_REGISTRY` variable
disables this side effect.
In CMake 3.15 and later, this behavior is disabled by default, and the
variable has no effect.
Github-Pull: #32943
Rebased-From: 44f3bae300dcafbe53f9b07e6cc22a112833e579
44b07b2d5a6937b71c984b4c2d3edb382346f96b doc: update release notes for 28.x (fanquake)
c77e250a985c0f971e1b83523590c6f5ea8570c8 guix: warn and abort when SOURCE_DATE_EPOCH is set (will)
d19a8e0c06fcc45b42d3977be07b0f85cf715052 doc: taproot became always active in v24.0 (Sjors Provoost)
907772d7093624cb594071b326e5fdc05feab798 doc: fix transifex 404s (fanquake)
d235d5b77d1219d6c17d9db319f68d5c31e990e1 test: Fix list index out of range error in feature_bip68_sequence.py (zaidmstrr)
Pull request description:
Backports:
* #32678
* #32765
* #32776
* #32777
ACKs for top commit:
hebasto:
ACK 44b07b2d5a6937b71c984b4c2d3edb382346f96b.
Tree-SHA512: 01a3987e222622c16583dae91b1efe4428110ff2d852da13ca34ba3270d40e678dd41d3ec53b89bda260efda706e89f4ee2c1c8bb6cc0d157e5145de001f5526
Current behaviour will by-default use SOURCE_DATE_EPOCH from the
environment without warning. This breaks the default reproducibility
from a guix build.
Warn when and exit when this variable is set, and
FORCE_SOURCE_DATE_EPOCH is unset.
Github-Pull: #32678
Rebased-From: 5c4a0f8009cef758be9412428515bfed57b0c923
2437d9398926b82f2015d78752a72d8df82772f2 doc: update 28.x release notes (fanquake)
a6aca67214ea45ef359fa8b990ff5c9aa74fa030 build: patch cmake min version on freetype (josibake)
9082498589f09b4cd81ec017d67b684fa6f0efd9 contrib: Sign all Windows binaries too (Ava Chow)
Pull request description:
This backports
* 3656b828dc - Which was missed in #32563, see https://github.com/bitcoin/bitcoin/pull/32563#issuecomment-2960237938.
* #32693
ACKs for top commit:
willcl-ark:
ACK 2437d9398926b82f2015d78752a72d8df82772f2
Tree-SHA512: 3fcc04f22355372fd34581c068c3a02c2b19543f4a2a9058953b6f60debb36a597d74405decbe8451291431aa5bab2060f4545b9f6c1e3b0a8cc3e8aca17fdc5
It looks like the mkdir detection in xproto is broken on Alpine. Ensure
we always use `mkdir -p`.
Fixes#32494.
Github-Pull: #32568
Rebased-From: df9ebbf659d5d1282289f36d7f9ee7103aa33a17
Signapple has been updated to sign individual binaries, and notarize app
bundles and binaries. When codesigning, all individual binaries will be
codesigned, and both the app bundle and individual binaries will be
notarized.
Github-Pull: #31407
Rebased-From: 31d325464d0cf2d06888e0c543ae26a944f2ec6b
As codesigned binaries will be published, the unsigned ones should be
clearly marked as such.
Github-Pull: #31407
Rebased-From: 4e5c9ceb9dd5a6ad8eea689d916a632e4d482812
The MacOS binaries are unsigned and therefore also unusable on MacOS.
Indicate as such by naming the tarball "unsigned".
Github-Pull: #31407
Rebased-From: d9d49cd533bd430776c0cbe2fd666ffec3e6637b
The tarballs used for codesigning are more than merely unsigned, they
also contain scripts and other data for codesigning. Rename them to
codesigning.tar.gz to distinguish from tarballs containing actually just
the unsigned binaries.
Github-Pull: #31407
Rebased-From: c214e5268fa9322a83cbba6d47d33f830efdd89e
5c2ba9f583e28460e618cc1119a10c06b868377c guix: accomodate migration to codeberg (fanquake)
Pull request description:
See https://guix.gnu.org/blog/2025/migrating-to-codeberg/.
When interacting with the old repo you may now also see:
```bash
warning: redirecting to https://codeberg.org/guix/guix/
```
Github-Pull: #32439
Rebased-From: c8d9baae942c94d64ce47ae8f67d3710e6a296bd
ACKs for top commit:
hebasto:
ACK 5c2ba9f583e28460e618cc1119a10c06b868377c.
Tree-SHA512: ce43bdaf8bba3fb6c3db2794f25aeaf60557a1151c45903cbfe8e63345f1a9b0f6255d6055b5505556942f569a1683703999e7ed1d59698bdcd4e64edbb3405e