Repository navigation
feat: prepare repository verification with native composite actions - #652
Conversation
…setup-hooks-without-editing-generated-workflows
|
To preview the documentation for this pull request, visit the following URL:
|
There was a problem hiding this comment.
Current status: All findings originating in this review are resolved.
Last reconciled on5ba7f58. See aggregate Bugbot status.
🤖 Bugbot review snapshot
Bugbot reported 1 potential problem when commit 398723d was analyzed. This snapshot is historical; use the status block above for current state. 1 finding is linked to changed code.
Findings
- medium: Setup option is ignored by the commit workflow —
.github/workflows/copilot_commit.yml:54
Bugbot: review complete
|
Copilot approval · Human review neededStatus: A protected workflow, policy, or trust-boundary file changed. Technical evidenceRevision: |
|
/copilot dismiss "copilot_commit_workflow:54:verification-setup-not-applied-to-commit-route" |
|
1 finding was dismissed. |
|
Design revision in progress following the maintainer's request for repository-owned YAML integrated with Copilot workflows. This PR is now a draft with no automatic merge. The current Node helper implementation is retained for comparison and must not be treated as the accepted final interface. The native alternatives under discussion are a composite setup action in the same job (recommended for shared workspace/environment), or a reusable workflow that receives the candidate and performs setup and verification in its own jobs. Both require explicit prepare/setup/verify-publication phases and fresh candidate/authorization checks; a setup-only job cannot provision another job's environment. Native logging/limits, trusted YAML provenance, cancellation/recovery and local CLI behavior must be specified before implementation is finalized. The earlier push-route finding was independently checked and dismissed with pinned source evidence: that route performs analysis/metadata work and has no repository verification boundary. |
|
1 finding was dismissed. |
|
/copilot findings |
There was a problem hiding this comment.
Current status: All findings originating in this review are resolved.
Last reconciled on5ba7f58. See aggregate Bugbot status.
🤖 Bugbot review snapshot
Bugbot reported 1 potential problem when commit 920335a was analyzed. This snapshot is historical; use the status block above for current state. 1 finding is linked to changed code.
Findings
- medium: Candidate identity ignores untracked file permissions —
src/infrastructure/native_verification_candidate.ts:29
Closes #647.
Repositories can prepare dependencies for the actual merge or fix candidate through
.github/actions/copilot-verification-setup/action.yml, a native composite action with reviewed auxiliary files. Generated comment callbacks run itsusesandrunsteps before each configured verifier, then continue the same admitted operation without replaying the agent.Setup is disabled by default (
VERIFICATION_SETUP, Action inputverification-setup, setup configrepository.verificationSetup). Copilot pins the action from trusted main and stages it under.git, preserving the candidate's files. Native continuations check the request and candidate, accept only approved runtime paths andJAVA_HOME, and retain credential-free verification and existing publication guards. Setup failure blocks pending verification and publication. Dependency profiles and trusted action metadata remain available until native post steps finish, then are removed. Source workflows also snapshot their runtime outside the mutable candidate.The installer preserves the consumer-owned action directory. Updated specifications, catalog, generated guidance and documentation explain configuration, limits, recovery and the local CLI limitation: composite setup requires the updated GitHub Actions callbacks; an opted-in CLI invocation fails closed.
Validation on
5ba7f589: CI passes 703 suites and 11,510 tests, coverage budgets, workflow/specification/documentation validators and synchronized bundles. Platform smoke passes on Linux, Windows and macOS, including actual Python/pytest and Node/pnpm setup, full platform coverage, deferred post steps, runtime replacement protection and cleanup. Regression cases block untracked executable-mode and file-type changes. The complete review confirms zero active findings: two fixed and three dismissed with evidence. All applicable final-head checks pass; optional manual jobs are skipped and the protected-path approval recommendation remains neutral.