Skip to content

chore: adopt org-infra reusable release workflows #699

Description

@marcusburghardt

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

  • Replace release.yml: Replace the inline preflight + release jobs with two reusable workflow calls (reusable_release_preflight.yml + reusable_release_goreleaser.yml). Use ci_checks override with ["unit-test", "e2e-test", "integration-test"] since complyctl does not have a ci_local.yml.
  • Update 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).
  • Verify .goreleaser.yaml compatibility: Confirm the existing sboms: and signs: sections work with the reusable GoReleaser workflow. No changes expected — already compliant.
  • Test with a dry run: Trigger the new workflow with a test tag to verify preflight discovers CI checks correctly and GoReleaser runs with supply chain artifacts.

Recommended (follow-up)

  • Create ci_local.yml: Consolidate unit_test.yml, e2e_test.yml, and integration_test.yml into a single ci_local.yml to enable full auto-discovery (dropping the ci_checks override).

Blockers

  • org-infra PR #394 must be merged and a release tagged so complyctl can pin to a specific version.

References

Metadata

Metadata

Labels

enhancementNew feature or request

Type

No type

Fields

Priority

Medium

Effort

None yet

Projects

Status
In progress 📋

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions