Repository navigation
Description
Is there an existing issue for this?
- I have searched the existing issues.
Which actions are affected?
Issue, Pull Request
Which platforms are affected?
Linux
Description
The consumer release/hotfix templates pass MERGE_QUEUE_CHECK_ATTESTATIONS to preparation and reconciliation-only resume, but omit merge-queue-check-attestations on the normal published_deployment_action call. Publication confirmation starts reconciliation and must receive the live policy for the actual target. With a required producer that needs an exact attestation, the normal publish route can fall back to the default empty array even though preparation/resume use the configured policy.
Expected: the normal publication callback receives the same live Repository Variable as preparation, resume and the managed-PR continuation. Keep target rules, exact identity validation and fail-closed handling intact.
Reproducing the issue
- Inspect
setup/workflows/release_workflow.ymlandsetup/workflows/hotfix_workflow.ymlon current master/v3. - Configure a legitimate exact
MERGE_QUEUE_CHECK_ATTESTATIONSentry for a required producer on the development or active-release target. - Compare
prepare_deployment_actionand the resumepublished_deployment_actioninputs with the normal publishpublished_deployment_actioninputs. - The normal callback omits the attestation input. Add contract tests requiring the live variable on all paths that initiate reconciliation.
Minimal missing input under the normal callback:
merge-queue-check-attestations: ${{ vars.MERGE_QUEUE_CHECK_ATTESTATIONS || '[]' }}copilot Version
Consumer installed with CLI 3.9.3 and vypdev/copilot@v3. Current master generic consumer templates inspected on 2026-10-21. This is a static contract finding, not a claim that a production release was executed with a third-party check.
Additional context and comments
Found while completing the documented deployment extension points for vypdev/homeassistant-gateway#19. No release was launched, no protections bypassed and no generic Copilot event workflow modified.
The deployment documentation explicitly says attestations are live policy and must be reread at each readiness decision: https://github.com/vypdev/copilot/blob/master/docs/issues/deployment-orchestration.mdx#setup-file-and-repository-variable-mapping
Source templates:
Metadata
Metadata
Assignees
Labels
Type
Projects
- StatusShow more project fieldsDone
Activity
[-]Release and hotfix publication callbacks omit live merge queue attestations[/-][+]π - Release and hotfix publication callbacks omit live merge queue attestations[/+]vypbot commentedon Oct 21, 2026
Hi! Iβm @vypbot, the Copilot assistant for this repository.
I can answer questions, explain the codebase, propose implementation and test plans, review issues and pull requests for potential bugs or security problems, and help authorized maintainers apply changes.
Try
/copilot helpto see the available commands, or mention @vypbot with your question.[-]π - Release and hotfix publication callbacks omit live merge queue attestations[/-][+]ππ§βπ» - Release and hotfix publication callbacks omit live merge queue attestations[/+]vypbot commentedon Oct 21, 2026
Implementation plan
Acceptance: Workflow contract tests verify that both release and hotfix normal published_deployment_action calls pass merge-queue-check-attestations from vars.MERGE_QUEUE_CHECK_ATTESTATIONS with the [] fallback, and that existing readiness safeguards remain covered.
Need something else? Mention the bot with a question or use
/copilot help.vypbot commentedon Oct 21, 2026
Issue closed β historical progress
Current status: closed as completed.
The last estimate is retained below as history. Closure does not certify a new percentage, tests, or branch alignment.
Action required: none for this closed issue. If work continues, reopen the issue; a fresh assessment can update this same card.
Last assessment before closure (historical)
vypbot commentedon Oct 21, 2026
Issue closed: synchronization recommendation retired
No branch synchronization is required for this closed issue.
The previous recommendation is historical. Issue closure does not certify that the branches are synchronized.