Summary
Consolidate unit_test.yml, e2e_test.yml, and integration_test.yml into a single ci_local.yml workflow to enable the org-infra reusable release preflight (reusable_release_preflight.yml) to auto-discover CI checks without requiring a ci_checks override.
Motivation
After adopting the org-infra reusable release workflows (#699), complyctl must pass an explicit ci_checks: '["unit-test", "e2e-test", "integration-test"]' override to the preflight because the auto-discovery mechanism looks for check names defined in ci_local.yml, ci_checks.yml, and ci_security.yml. complyctl has the latter two but not ci_local.yml — its test workflows are split across three separate files.
This creates a maintenance risk: if a test workflow job is renamed or a new test workflow is added, the hardcoded ci_checks override in release.yml must be updated manually. This is the same class of problem the reusable preflight was designed to eliminate.
Context
unit_test.yml, e2e_test.yml, and integration_test.yml are fully local workflows (no org-infra dependency). They run repo-specific commands (make test-unit, make test-e2e, make test-integration).
- The
ci_* consumer workflows (e.g., ci_checks.yml, ci_security.yml) call org-infra reusable workflows, but ci_local.yml would not — it would be a local workflow following the ci_ naming convention for preflight discoverability.
- The org-infra reusable preflight reads job names from
ci_local.yml in the caller's checkout to build its required checks list. See org-infra/docs/RELEASE_WORKFLOWS.md for the auto-discovery mechanism.
Tasks
References
Summary
Consolidate
unit_test.yml,e2e_test.yml, andintegration_test.ymlinto a singleci_local.ymlworkflow to enable the org-infra reusable release preflight (reusable_release_preflight.yml) to auto-discover CI checks without requiring aci_checksoverride.Motivation
After adopting the org-infra reusable release workflows (#699), complyctl must pass an explicit
ci_checks: '["unit-test", "e2e-test", "integration-test"]'override to the preflight because the auto-discovery mechanism looks for check names defined inci_local.yml,ci_checks.yml, andci_security.yml. complyctl has the latter two but notci_local.yml— its test workflows are split across three separate files.This creates a maintenance risk: if a test workflow job is renamed or a new test workflow is added, the hardcoded
ci_checksoverride inrelease.ymlmust be updated manually. This is the same class of problem the reusable preflight was designed to eliminate.Context
unit_test.yml,e2e_test.yml, andintegration_test.ymlare fully local workflows (no org-infra dependency). They run repo-specific commands (make test-unit,make test-e2e,make test-integration).ci_*consumer workflows (e.g.,ci_checks.yml,ci_security.yml) call org-infra reusable workflows, butci_local.ymlwould not — it would be a local workflow following theci_naming convention for preflight discoverability.ci_local.ymlin the caller's checkout to build its required checks list. Seeorg-infra/docs/RELEASE_WORKFLOWS.mdfor the auto-discovery mechanism.Tasks
ci_local.ymlcombining the three test workflows into one workflow with three jobs (preserving existing job names:unit-test,e2e-test,integration-test)unit_test.yml,e2e_test.yml,integration_test.ymlci_checksoverride fromrelease.yml(added by chore: adopt org-infra reusable release workflows #699)AGENTS.mdCI Workflow Structure tableReferences
org-infra/docs/RELEASE_WORKFLOWS.mdorg-infra/.github/workflows/reusable_release_preflight.yml