Skip to content

fix(bump-consumers): regenerate the umbrella's wiring block in its… - #81

Merged
brunogbv merged 2 commits into
mainfrom
fix/bump-consumers-wiring
Oct 10, 2026
Merged

brunogbv merged 2 commits into
mainfrom
fix/bump-consumers-wiring

Conversation

@brunogbv

Copy link
Copy Markdown
Collaborator

Summary — The umbrella's quality-other runs wiring --check, and REPOS.md's generated block lists every repo's devkit pins, so each umbrella bump PR failed as stale until someone regenerated one line by hand (marola-dev/marola#764). As the canary for auto-merge it would never go green and no code repo would follow.

Closes #78

MIP none — not MIP-scoped
Tested ⬜ gates · ⬜ e2e · ⬜ live · ⬜ ci-only — bump-consumers --self-test red (6 FAIL: no block in the commit wiring never ran a wiring failure still pushed) then green with umbrella_bump_regenerates_wiring_block repo_without_markers_unchanged wiring_failure_fails_that_repo shellcheck (default severity) clean actionlint docs_lint tests/self-tests.sh all ok —
Cost ~$5.73 · diff-size estimate (cost-split --estimate-commit) (227a2f0)

What changed

  • fix(bump-consumers): regenerate the umbrella's wiring block in its bump commit (227a2f0)

Not run for real yet (no Nix in this session): the default nix run github:marola-dev/marola-devkit/vX.Y.Z#wiring path (apps.wiring exists: devkit CI's flake check validates it) and the shallow submodule fetch. The named test is the next release's umbrella bump PR going green with no hand edit, as marola-dev/marola#764 needed one.

…mp commit

The umbrella's quality-other runs `wiring --check`, and REPOS.md's generated block lists every
repo's devkit pins, so each umbrella bump PR failed as stale until someone regenerated one line by
hand (marola-dev/marola#764). As the canary for auto-merge it would never go green and no code repo
would follow.

When the bumped repo's docs/2-Building-marola/REPOS.md carries the wiring markers, the bump now
checks out its submodules at depth 1 and runs the new tag's wiring (`nix run
github:marola-dev/marola-devkit/vX.Y.Z#wiring`; BUMP_WIRING overrides it) before committing, the
same pattern as the umbrella's pointer-sync.sh. The tag's, not this checkout's: the block must
match what the bumped repo's own gate runs. A wiring failure fails that repo's bump rather than
pushing a stale block; a repo without the markers is bumped exactly as before.

Closes #78

Tested: bump-consumers --self-test red (6 FAIL: no block in the commit, wiring never ran, a wiring failure still pushed) then green with umbrella_bump_regenerates_wiring_block, repo_without_markers_unchanged, wiring_failure_fails_that_repo; shellcheck (default severity) clean; actionlint; docs_lint; tests/self-tests.sh all ok
Cost: ~$5.73 · diff-size estimate (cost-split --estimate-commit)
Co-Authored-By: Claude <noreply@anthropic.com>
@github-actions github-actions Bot changed the title fix(bump-consumers): regenerate the umbrella's wiring block in its bump commit fix(bump-consumers): regenerate the umbrella's wiring block in its… Oct 10, 2026
…andbox

The fake gh and wiring were written with #!/usr/bin/env bash, which the sandbox lacks, so nix flake
check's self-tests derivation failed the new umbrella case while the local run passed; #!$BASH, as
graph.sh, stack.sh and ruleset-sync.sh write their fakes.

Tested: bump-consumers --self-test; shellcheck; the sandbox run is devkit CI's nix flake check
Cost: ~$0.30 · diff-size estimate (two shebangs)
Co-Authored-By: Claude <noreply@anthropic.com>
@brunogbv
brunogbv merged commit 4b15172 into main Oct 10, 2026
7 checks passed
brunogbv added a commit that referenced this pull request Oct 10, 2026
* test(self-tests): refuse a fake script with an env shebang

The flake's self-tests run in the Nix build sandbox, which has no /usr/bin/env, so a fake written
with #!/usr/bin/env passes locally and fails only in CI; it broke #61 and #81 on the same day.
tests/self-tests.sh now fails on any #!/usr/bin/env below a file's first line in scripts/,
plugins/ and tests/, and checks itself on a red and a green fixture each run.

Closes #83

Tested: tests/self-tests.sh green on main with #81's fakes; a planted #81-style fake in scripts/temps.sh fails it naming the line, removed it passes; the fixture check red/green; shellcheck (warning+); docs_lint
Cost: ~$1.33 · diff-size estimate (cost-split --estimate-commit)
Co-Authored-By: Claude <noreply@anthropic.com>

* docs(development): fakes start with #!$BASH, and why

Part of #83: the self-test section names the convention tests/self-tests.sh now enforces.

Tested: docs_lint
Cost: ~$0.15 · diff-size estimate (one paragraph)
Co-Authored-By: Claude <noreply@anthropic.com>

---------

Co-authored-by: Claude <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

bump-consumers: regenerate the umbrella's wiring block in its bump commit

1 participant