Skip to content

ci: refactor verification workflows into shared reusable units #29

Description

@mobileskyfi

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    P2active improvement with clear shapearea:ciCI workflows, publish, verification matrixenhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions