Repository navigation
docs: Disable the upstream workflows a first release registers (#6) - #7
Conversation
GitHub registers a workflow only at its first triggering event, and only a registered workflow can be disabled. After the bootstrap, docker.yml and ci-stop-closed.yml registered and are disabled. npm-package.yml and sync-published-release.yml register only with the first release, and neither can publish from this fork. The runbook now says to disable them right after the first release and to check that only the three lazurio-* workflows stay active. This keeps the contract that upstream workflow files stay unchanged (issue #6). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
agentrozjedemeai
left a comment
There was a problem hiding this comment.
@immakermatty Exact-head review of a724657: changes requested in docs/operations/lazurio-fork-release.md:373-377.
The first release uses secrets.GITHUB_TOKEN for gh release create (.github/workflows/lazurio-release.yml:306-320). GitHub does not start a downstream workflow run for a release.published event produced by GITHUB_TOKEN. Thus the first release cannot be relied on to register sync-published-release.yml; the step-8 disable command can find only npm-package.yml, and the check for just three active workflows can pass while the sync workflow remains unregistered and latent. A later non-token publish/manual trigger could register and start it before the operator can disable it. The mirror currently rejects the Lazurio prerelease-shaped tag before writing, but the runbook must not say both workflows register and are disabled by the first-release step.
Please distinguish first-release observable behavior from deferred registration, explicitly preserve issue #6 until the latent workflow is accounted for, and specify how to detect/disable it if it later registers (or choose a reviewed upstream job guard if zero first-run execution is required). This does not require changing upstream files for the accepted first-release risk model.
Evidence: local release contract 5/5, git diff --check clean, current-head fork CI green, zero unresolved review threads. GitHub documents the GITHUB_TOKEN downstream-run exception under “When GITHUB_TOKEN triggers workflow runs.”
Review of a724657: our release publishes with GITHUB_TOKEN, and GitHub starts no workflow for events that token causes. So the first release registers only npm-package.yml (the App-created tag does start workflows), while sync-published-release.yml stays latent until a release is published another way. The runbook now says that, how to disable it the moment it registers, and that issue #6 stays open until it is accounted for. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
agentrozjedemeai
left a comment
There was a problem hiding this comment.
@immakermatty Exact-head re-review of 63825aa: APPROVED. The runbook now distinguishes the App-created tag (registers npm-package.yml; disable it in first-release step 8) from the GITHUB_TOKEN-published release (does not trigger sync-published-release.yml). It calls for immediate disablement if sync later registers, checks the post-release active set and absent/disabled sync state, and keeps issue #6 open until that workflow is accounted for or a reviewed repository guard lands. The release workflow pre-tag gate still refuses registered enabled upstream workflows; this is an accepted operational first-run risk, not a claim that latent workflows are disabled. Local release contract 5/5 and diff check clean; fork CI green on this exact SHA, no unresolved threads.
Status: ready for review
Issue #6: GitHub registers a workflow only at its first triggering event, and only a registered workflow can be disabled.
main(2026-09-30),docker.ymlandci-stop-closed.ymlregistered and were disabled.docker.ymlfired but ended instartup_failurewith 0 jobs, because Actions allow only GitHub-owned actions pluspnpm/action-setup.npm-package.ymlregisters with the first release: the App-created tag starts workflows. The runbook makes disabling it part of release step 8.sync-published-release.ymlstays latent. Our releases are published withGITHUB_TOKEN, which starts no workflow runs, so it registers only if a release is published another way. The runbook says to disable it at once in that case, and Upstream tag/release-triggered workflows register only on their first event (before the first release) #6 stays open until it is accounted for.openmausbot, and the mirror needsRELEASES_PAT.I chose flow steps over guarding the upstream workflow files. The fork contract, and its release contract test, keep them unchanged. The release workflow's pre-tag check refuses any registered upstream workflow that is enabled.
Verification: docs only; the release contract test passes (5/5).
🤖 Generated with Claude Code