This PR significantly reduces the vcpkg binary cache size, improving CI caching performance:
Branch | Cache Size |
---|---|
master | 2.6 GB |
this PR | 430 MB |
Also see #31176 (comment).
This PR significantly reduces the vcpkg binary cache size, improving CI caching performance:
Branch | Cache Size |
---|---|
master | 2.6 GB |
this PR | 430 MB |
Also see #31176 (comment).
The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.
For details see: https://corecheck.dev/bitcoin/bitcoin/pulls/32182.
See the guideline for information on the review process.
Type | Reviewers |
---|---|
ACK | maflcko |
If your review is incorrectly listed, please react with 👎 to this comment and the bot will ignore it on the next update.
No conflicts as of last run.
Was there a reason to use static linking in this CI here before?
The static linking was inherited from the Cirrus task in #28173, which, in turn, used our custom Qt build instead of the vcpkg manager.
My guess is that, back when we were using our custom MSVC project file, static linking worked seamlessly without needing to manage DLL locations.
Maybe @sipsorcery could provide more details.
This change significantly reduces the vcpkg binary cache size, improving
CI caching performance.
Noticed the build artifact x86_64-w64-mingw32-executables-<run>
is 916MB (https://github.com/bitcoin/bitcoin/actions/runs/18155350909?pr=31723 / https://github.com/bitcoin/bitcoin/actions/runs/18155350909/job/51673850541?pr=31723#step:9:161).
Artifact contents:
0$ unzip -l x86_64-w64-mingw32-executables-18155350909.zip
1Archive: x86_64-w64-mingw32-executables-18155350909.zip
2 Length Date Time Name
3--------- ---------- ----- ----
4617942101 10-01-2025 07:57 bin/bench_bitcoin.exe
5610761406 10-01-2025 07:57 bin/bitcoin-qt.exe
6 62115659 10-01-2025 07:55 bin/bitcoin-tx.exe
7 28860486 10-01-2025 07:55 bin/bitcoin-cli.exe
8 28258672 10-01-2025 07:55 bin/bitcoin-util.exe
9215229370 10-01-2025 07:55 bin/bitcoin-wallet.exe
10 17588530 10-01-2025 07:55 bin/bitcoin.exe
11472440702 10-01-2025 07:56 bin/bitcoind.exe
12722128888 10-01-2025 07:59 bin/fuzz.exe
13963138284 10-01-2025 07:59 bin/test_bitcoin.exe
14 1006274 10-01-2025 07:54 src/secp256k1/bin/exhaustive_tests.exe
15 3244108 10-01-2025 07:54 src/secp256k1/bin/noverify_tests.exe
16 3642166 10-01-2025 07:54 src/secp256k1/bin/tests.exe
17 4811144 10-01-2025 07:53 src/univalue/object.exe
18 4115324 10-01-2025 07:53 src/univalue/unitester.exe
19 967 10-01-2025 07:53 test/config.ini
20--------- -------
213755284081 16 files
test_bitcoin.exe itself is almost 1GB when uncompressed.
Would it be okay to use stripped binaries in the artifact?
Tried reproducing running env -i HOME="$HOME" PATH="$PATH" USER="$USER" ... FILE_ENV="./ci/test/00_setup_env_win64.sh" ./ci/test_run_all.sh'
and noticed we have stripped binaries available in release/
0root@23d2a9125040:/ci_container_base/ci/scratch/build-x86_64-w64-mingw32# ls -alh bin/ release/
1bin/:
2total 3.5G
3drwxr-xr-x 2 root root 4.0K Oct 1 09:04 .
4drwxr-xr-x 10 root root 4.0K Oct 1 09:04 ..
5-rwxr-xr-x 1 root root 589M Oct 1 09:02 bench_bitcoin.exe
6-rwxr-xr-x 1 root root 28M Oct 1 08:58 bitcoin-cli.exe
7-rwxr-xr-x 1 root root 582M Oct 1 09:00 bitcoin-qt.exe
8-rwxr-xr-x 1 root root 60M Oct 1 08:58 bitcoin-tx.exe
9-rwxr-xr-x 1 root root 27M Oct 1 08:58 bitcoin-util.exe
10-rwxr-xr-x 1 root root 206M Oct 1 08:58 bitcoin-wallet.exe
11-rwxr-xr-x 1 root root 4.9M Oct 1 08:57 bitcoin.exe
12-rwxr-xr-x 1 root root 451M Oct 1 08:59 bitcoind.exe
13-rwxr-xr-x 1 root root 688M Oct 1 09:04 fuzz.exe
14-rwxr-xr-x 1 root root 918M Oct 1 09:04 test_bitcoin.exe
15
16release/:
17total 94M
18drwxr-xr-x 2 root root 4.0K Oct 1 09:04 .
19drwxr-xr-x 10 root root 4.0K Oct 1 09:04 ..
20-rwxr-xr-x 1 root root 2.2M Oct 1 09:04 bitcoin-cli.exe
21-rwxr-xr-x 1 root root 38M Oct 1 09:04 bitcoin-qt.exe
22-rwxr-xr-x 1 root root 4.0M Oct 1 09:04 bitcoin-tx.exe
23-rwxr-xr-x 1 root root 1.9M Oct 1 09:04 bitcoin-util.exe
24-rwxr-xr-x 1 root root 7.9M Oct 1 09:04 bitcoin-wallet.exe
25-rwxr-xr-x 1 root root 1.2M Oct 1 09:04 bitcoin.exe
26-rwxr-xr-x 1 root root 14M Oct 1 09:04 bitcoind.exe
27-rwxr-xr-x 1 root root 26M Oct 1 09:04 test_bitcoin.exe