One repository holding everything that was either copied six times or lived loose on one maintainer's disk:
profile/ |
the organisation's GitHub profile page |
repos.toml + repos.lib.sh |
the repository registry — every script reads it; a new repository is added here, once |
protect-branches.sh |
branch protection and the repo settings the release flow needs (auto-merge on, merge commits off, dev survives merges) |
set-secrets.sh, security-features.sh, github-metadata.sh |
the other operator passes, all registry-driven |
scripts/ + scripts-manifest.sha256 + scripts-drift.sh |
the canonical copies of the seven byte-identical vendored scripts, and the check that the six repos' copies still match |
.github/workflows/reusable-*.yml |
workflow_call workflows: Rust security, book build + prose register, Rust coverage |
prose-check.py |
the banned-construction check the books are written against |
templates/migration-guide.md |
what every breaking release ships |
docs/ |
the runbooks and standing plans (RELEASE-COMMANDS, PATH-TO-1.0, OUTSTANDING, …) |
Only after this repository exists on GitHub — a caller referencing
dynamic-config-rs/.github/...@v1 fails while it does not. Then, one
repository at a time (start with dynamic-config-remote, the widest
matrix):
- Replace the repo's
security.ymldeny/unsafe/supply-chain jobs with one job:Keep the repo's ownshared: uses: dynamic-config-rs/.github/.github/workflows/reusable-security-rust.yml@v1 with: crates: "crate-a crate-b"
security-okgate job — branch protection requires the check name, and names stay local. Point itsneedsatshared. - Prove it with
workflow_dispatchon a branch before merging. - Tag this repository
v1and pin callers to the tag; a workflow change here then rolls out by moving the tag, deliberately.
./scripts-drift.sh /path/to/checkouts-parentRed means a vendored copy moved without this repository agreeing. Two
scripts are per-repo by design and outside the set: promotion-title.sh
and (in the pure-Python repository) security-status.sh.
What you may build on and find unchanged tomorrow is written down: the Compatibility Contract.