-
Notifications
You must be signed in to change notification settings - Fork 0
Dedupe CI into a reusable workflow_call (PR gate + release tag gate) #116
Copy link
Copy link
Open
Labels
area:ciGitHub Actions, Dependabot, and installer build pipelines.GitHub Actions, Dependabot, and installer build pipelines.complexity:sonnetMedium scope; may span multiple files or require iteration.Medium scope; may span multiple files or require iteration.priority:lowNice to have; backlog.Nice to have; backlog.status:unrefinedLacks acceptance criteria or file mapping; not agent-ready.Lacks acceptance criteria or file mapping; not agent-ready.type:tech-debtKnown shortcut to repay; reduces future friction.Known shortcut to repay; reduces future friction.
Description
Metadata
Metadata
Assignees
Labels
area:ciGitHub Actions, Dependabot, and installer build pipelines.GitHub Actions, Dependabot, and installer build pipelines.complexity:sonnetMedium scope; may span multiple files or require iteration.Medium scope; may span multiple files or require iteration.priority:lowNice to have; backlog.Nice to have; backlog.status:unrefinedLacks acceptance criteria or file mapping; not agent-ready.Lacks acceptance criteria or file mapping; not agent-ready.type:tech-debtKnown shortcut to repay; reduces future friction.Known shortcut to repay; reduces future friction.
Summary
#60 duplicates the full test surface from
ci-complete.ymlintorelease.yml(a tag push bypasses the PR gate, so it has to re-run the gate standalone). That duplication will drift. Extract the shared jobs into a reusable workflow (workflow_call) consumed by both.Scope
.github/workflows/ci-reusable.ymlexposing the test surface (fmt, clippy-D warnings, cargo-machete,cargo test --workspace, frontend Biome/Vitest/Playwright, desktop clippy + test) viaon: workflow_call.ci-complete.ymlto call it (preserving thechangespath-filter skips,gate-integrity,secret-scan, and theCI completeaggregator behavior that branch protection depends on).release.yml(from Release pipeline (unsigned): tag-triggered test gate → auto-file failure issue or publish Windows release #60) to call the same reusable workflow for itstestjob.Acceptance criteria
workflow_callworkflow — no duplicated step lists.CI completerequired check name and pass-on-skip semantics are unchanged (branch protection keeps working).Notes
Blocked on #60 landing (the duplication this repays). Watch the gate-guard: touching
ci-complete.ymljob structure will be flagged and needs an owner review to clear.Depends on #60.