Create `support` branch for CI scripts, documentation, and examples #288

pull ryanofsky wants to merge 3 commits into bitcoin-core:master from ryanofsky:pr/support changing 57 files +195 −7044
  1. ryanofsky commented at 12:39 AM on June 4, 2026: collaborator

    This PR creates a support branch that only holds libmultiprocess CI scripts, documentation, and example files so these files can be removed from the master branch in #287.

    This PR is a complement to #287 and the overall idea of having a support branch should be discussed there, but the CI tweaks required for this change can be reviewed here.

    Note: that for testing purposes a support branch currently exists in the repo pointing at these changes. But the branch can be reset and these changes can be more properly merged in after they are reviewed.

    Also note CI jobs at the bottom of this PR are expected to fail because they depend on #287. The CI jobs in #287 show the combined effects of both PRs and should succeed if they are correct.

  2. DrahtBot commented at 12:39 AM on June 4, 2026: none

    <!--e57a25ab6845829454e8d69fc972939a-->

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

    <!--021abf342d371248e50ceaed478a90ca-->

    Reviews

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

    <!--174a7506f384e20aa4161008e828411d-->

    Conflicts

    Reviewers, this pull request conflicts with the following ones:

    • #297 (test: add map serialization round-trip coverage by ViniciusCestarii)
    • #296 (ci: Bump channel to nixos-26.05 by maflcko)
    • #287 (Split repository into master (library source) and support (CI, docs, examples) branches. by ryanofsky)
    • #285 (Add ReadList helper by ViniciusCestarii)
    • #283 (Add makePool method on ThreadMap by rustaceanrob)
    • #274 (Add nonunix platform support by ryanofsky)
    • #269 (proxy: add local connection limit to ListenConnections by enirox001)
    • #212 (ci: add newdeps job testing newer versions of cmake and capnproto by ryanofsky)
    • #209 (cmake: Increase cmake policy version by ryanofsky)
    • #204 (cmake: support default build and test workflow by purpleKarrot)
    • #175 (Set cmake_minimum_required(VERSION 3.22) by maflcko)
    • #163 (build: set cmake policy version to 3.31 by purpleKarrot)

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

  3. DrahtBot added the label Needs rebase on Jun 9, 2026
  4. support: remove master source files
    Files removed using:
      git ls-files ':!COPYING' ':!example/' ':!doc/' ':!ci/' ':!shell.nix' ':!.github/' | xargs git rm
    
    Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
    2f7b894716
  5. support: split CI, docs, and examples onto support branch
    Restructures the repository so CI scripts, docs, and examples live on
    the support branch while C++ source stays on master. CI uses GitHub
    reusable workflows so both branches trigger full CI runs.
    
    GitHub Actions changes:
    - ci.yml, bitcoin-core-ci.yml: convert from standalone push/PR triggers
      to reusable workflows (on: workflow_call) accepting source_ref and
      support_ref inputs. Each job now checks out the C++ source at the
      default workspace path and the support branch at .support/. Script
      references updated from ci/scripts/ (and _libmultiprocess/ci/scripts/)
      to .support/ci/scripts/.
    - ci-support-trigger.yml: new workflow that fires on push/PR to the
      support branch, calling the reusable workflows with source_ref fixed
      to refs/heads/master and support_ref set to the triggering commit.
      This lets support branch PRs be validated against master's C++ source.
    - CI_CONFIG: repurposed from a config file path to a config name
      (e.g. "default", "llvm"). Scripts now resolve the path internally.
    
    Script changes (ci/scripts/):
    - run.sh: cd to support root before invoking nix so shell.nix and
      CMakeLists.txt are referenced without a path prefix.
    - ci.sh, config.sh: resolve CI_CONFIG name to configs/$CI_CONFIG.bash
      relative to the script location rather than treating it as a full path.
    - ci.sh: change default BUILD_TARGETS from (all tests mpexamples) to
      (all mptests mpexamples), since the tests target is only defined when
      master is the top-level cmake project (MP_STANDALONE=true).
    
    New files:
    - CMakeLists.txt: top-level cmake project for the support branch. Adds
      the master source tree as a subdirectory (via MP_SOURCE_DIR, defaulting
      to ..) and then adds example/ as a sibling subdirectory. Enables
      local builds via cmake -S .support -B .support/build-<name>.
    - README.md: brief description of support branch contents and how to set
      up the .support worktree.
    
    example/CMakeLists.txt: drop redundant include of TargetCapnpSources.cmake
    (now included by the parent support CMakeLists.txt before add_subdirectory).
    ci/README.md: update local run instructions to use CI_CONFIG name style
    and new .support/ worktree paths.
    
    Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
    e376b7b43e
  6. ci: Check out bitcoin/bitcoin PR #35454 instead of master
    bitcoin-core/libmultiprocess#287 is removing the mpcalculator,
    mpprinter, and mpexample targets with causes an error in the Bitcoin
    Core CI jobs without bitcoin/bitcoin#35454.
    
    Switch the Bitcoin Core checkout in both jobs to use
    refs/pull/35454/merge so CI tests against the compatible version. A
    BITCOIN_CORE_REF env var is introduced at the top of the file; once
    (and keep the var in place for any future API compatibility cycles).
    
    Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
    e1608e87c0
  7. ryanofsky force-pushed on Jun 11, 2026
  8. ryanofsky commented at 4:41 AM on June 11, 2026: collaborator

    <!-- begin push-2 -->

    Rebased dd9272c4790a6aa09ff5ced1e925c9191837bec7 -> e1608e87c0769448bffccf3660e71e02a5818cf5 (pr/support.1 -> pr/support.2, compare)<!-- end --> due to conflicts

  9. DrahtBot removed the label Needs rebase on Jun 11, 2026

github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin-core/libmultiprocess. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2026-06-24 03:30 UTC

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