ci: cache BSD sdk sources separately #35722

pull willcl-ark wants to merge 3 commits into bitcoin:master from willcl-ark:depends-sdk-sources changing 6 files +120 −69
  1. willcl-ark commented at 1:38 PM on July 14, 2026: member

    Sometimes CI jobs need to (re)download *BSD SDK archives, and these downloads can delay or fail the job, as has been happening recently.

    The SDKs are currently downloaded and extracted while building the CI image itself; this means that when the relevant image-build cache is missed or invalidated, the SDK archives are downloaded again, which is unnecessary.

    Instead, cache the BSD SDK archives separately and mount them into the runtime container. Move the BSD SDK setup out of 01_base_install.sh and run it after the container starts, so it is no longer part of the image build and the BSD SDKs are no longer part of the image build cache/layers.

    This means rebuilding the BSD images no longer relies on pulling the SDK archives, reducing reliance and load we have on archive servers in many cases.

    While touching 02_run_container.py and adding new paths to it, unify path handling for all caches a bit more.

  2. DrahtBot commented at 1:39 PM on July 14, 2026: contributor

    <!--e57a25ab6845829454e8d69fc972939a-->

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

    <!--006a51241073e994b41acfe9ec718e94-->

    Code Coverage & Benchmarks

    For details see: https://corecheck.dev/bitcoin/bitcoin/pulls/35722.

    <!--021abf342d371248e50ceaed478a90ca-->

    Reviews

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

    <!--5faf32d7da4f0f540f40219e4f7537a3-->

  3. willcl-ark force-pushed on Jul 14, 2026
  4. DrahtBot added the label CI failed on Jul 14, 2026
  5. ci: move BSD SDK setup out of image build
    The base install script runs while constructing the CI image, but the BSD
    SDKs are only needed later when compiling the source in the running
    container.
    
    Moving them out of base_install.sh means we can cache them similarly to
    other sources/caches.
    aa040360ce
  6. ci: cache BSD SDK sources
    Restore and save the NetBSD, FreeBSD, and OpenBSD SDK archives through the
    existing cache provider.
    
    Mount the shared sdk-sources directory in the container so cache hits
    avoid downloading the archives again.
    732997364b
  7. ci: unify cache path handling
    The cache directories need to be created and mounted in both host and Docker
    modes. Keeping separate lists lets the paths drift.
    
    Define each cache's source and destination once and derive the volume and bind
    mounts from that definition.
    cd4b34c58d
  8. willcl-ark force-pushed on Jul 14, 2026
  9. willcl-ark renamed this:
    [NOMERGE] ci: cache BSD sdk sources separately
    ci: cache BSD sdk sources separately
    on Jul 14, 2026
  10. willcl-ark marked this as ready for review on Jul 14, 2026
  11. DrahtBot removed the label CI failed on Jul 14, 2026
  12. DrahtBot added the label Tests on Jul 14, 2026
Contributors
Labels

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-07-17 11:51 UTC

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