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>