Purpose
Track the future CI/refactoring work for quickchr verification workflows. The exact shape is intentionally not fixed yet; the main goal is to stop maintaining parallel verification logic in ci.yml, verify-extended.yml, and publish.yml, and to make shared workflow units composable enough for release gates, manual Extended Verification, and lab-style troubleshooting runs.
Current workflow shape
ci.yml is the push/PR quality gate: repo checks, unit coverage, linux/x86 integration, then Windows unit tests.
verify-extended.yml is manual and platform-selectable: integration and/or examples smoke across Linux, macOS, Windows, RouterOS target, and filters.
publish.yml still carries its own release verification jobs instead of reusing the same units.
lint-powershell.yml has already been split out and reused from Extended Verification; that part is no longer open here.
Refactor direction
Likely outcome: shared workflow_call units for the recurring pieces, with small wrapper workflows for push/PR CI, release publish, and manual/lab dispatches. The integration runner is the key unit to design carefully: it should be parameterized by platform, RouterOS target, test filter, artifact names, gating/non-gating behavior, and optional metrics collection.
Related CI work captured here
Non-goals
Done-when
- Release verification no longer duplicates the integration/unit/check logic already owned by CI/Extended Verification.
- Shared workflow units cover the recurring verification jobs without making the wrappers harder to understand.
- Manual/lab dispatches can run targeted platform/test/RouterOS combinations needed for Windows and cross-platform troubleshooting.
- Integration runs can optionally emit useful byproduct stats/artifacts without changing pass/fail behavior or doubling runtime.
.github/instructions/ci.instructions.md matches the implemented workflow shape.
Follow-up from #22 item D, expanded after reviewing the open CI/testing issue cluster.
Purpose
Track the future CI/refactoring work for quickchr verification workflows. The exact shape is intentionally not fixed yet; the main goal is to stop maintaining parallel verification logic in
ci.yml,verify-extended.yml, andpublish.yml, and to make shared workflow units composable enough for release gates, manual Extended Verification, and lab-style troubleshooting runs.Current workflow shape
ci.ymlis the push/PR quality gate: repo checks, unit coverage, linux/x86 integration, then Windows unit tests.verify-extended.ymlis manual and platform-selectable: integration and/or examples smoke across Linux, macOS, Windows, RouterOS target, and filters.publish.ymlstill carries its own release verification jobs instead of reusing the same units.lint-powershell.ymlhas already been split out and reused from Extended Verification; that part is no longer open here.Refactor direction
Likely outcome: shared
workflow_callunits for the recurring pieces, with small wrapper workflows for push/PR CI, release publish, and manual/lab dispatches. The integration runner is the key unit to design carefully: it should be parameterized by platform, RouterOS target, test filter, artifact names, gating/non-gating behavior, and optional metrics collection.Related CI work captured here
Non-goals
doctor --export(CLI: doctor enhancement + --export bug-report bundle #47), machine evidence descriptors (API: stable machine-evidence descriptor for harnesses #50), and error/help alignment (CLI: error diagnostics chain (grounded error codes to structured errors) #54) are normal product/design issues, even if their output helps humans debug CI failures.Done-when
.github/instructions/ci.instructions.mdmatches the implemented workflow shape.Follow-up from #22 item D, expanded after reviewing the open CI/testing issue cluster.