Create support branch for CI scripts, documentation, and examples#288
Open
ryanofsky wants to merge 3 commits into
Open
Create support branch for CI scripts, documentation, and examples#288ryanofsky wants to merge 3 commits into
support branch for CI scripts, documentation, and examples#288ryanofsky wants to merge 3 commits into
Conversation
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>
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>
bitcoin-core#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>
|
The following sections might be updated with supplementary metadata relevant to reviewers and maintainers. ReviewsSee the guideline for information on the review process. ConflictsReviewers, this pull request conflicts with the following ones:
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. |
This was referenced Jun 5, 2026
Draft
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR creates a
supportbranch that only holds libmultiprocess CI scripts, documentation, and example files so these files can be removed from themasterbranch 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
supportbranch 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.