Summary
Adopt the new reusable release workflows from org-infra PR #394, replacing the inline preflight and release jobs in release.yml with two reusable workflow calls. This resolves the two known preflight bugs and eliminates hardcoded CI check maintenance.
Motivation
The current release.yml has:
- ~185 lines of inline preflight + release logic that duplicates what org-infra now provides as reusable workflows
- Two known bugs (#654): re-run blocking (tag uniqueness check) and
sort -V pre-release ordering inversion
- Hardcoded CI check names (
unit-test, e2e-test, integration-test) that break silently if workflow names change
- Follow-up items (#655): API error handling, expanded CI gates, release failure recovery
The reusable workflows solve all of these with smart re-run detection, semver-aware ordering, file-based CI check auto-discovery, proper API error handling, and security scan gating.
Aligns with the ecosystem release strategy for consistent release infrastructure across all ComplyTime repositories.
Tasks
Required
Recommended (follow-up)
Blockers
- org-infra PR #394 must be merged and a release tagged so complyctl can pin to a specific version.
References
Summary
Adopt the new reusable release workflows from org-infra PR #394, replacing the inline preflight and release jobs in
release.ymlwith two reusable workflow calls. This resolves the two known preflight bugs and eliminates hardcoded CI check maintenance.Motivation
The current
release.ymlhas:sort -Vpre-release ordering inversionunit-test,e2e-test,integration-test) that break silently if workflow names changeThe reusable workflows solve all of these with smart re-run detection, semver-aware ordering, file-based CI check auto-discovery, proper API error handling, and security scan gating.
Aligns with the ecosystem release strategy for consistent release infrastructure across all ComplyTime repositories.
Tasks
Required
release.yml: Replace the inline preflight + release jobs with two reusable workflow calls (reusable_release_preflight.yml+reusable_release_goreleaser.yml). Useci_checksoverride with["unit-test", "e2e-test", "integration-test"]since complyctl does not have aci_local.yml.docs/RELEASE_PROCESS.md: Restructure to reference the org-wide release process (org-infra/docs/RELEASE_PROCESS.md) and keep only complyctl-specific sections (Fedora packaging, Packit/Koji/Bodhi procedures)..goreleaser.yamlcompatibility: Confirm the existingsboms:andsigns:sections work with the reusable GoReleaser workflow. No changes expected — already compliant.Recommended (follow-up)
ci_local.yml: Consolidateunit_test.yml,e2e_test.yml, andintegration_test.ymlinto a singleci_local.ymlto enable full auto-discovery (dropping theci_checksoverride).Blockers
References
org-infra/docs/RELEASE_WORKFLOWS.md(CLI/Binary tool section)org-infra/docs/RELEASE_PROCESS.md