Image build logic is duplicated across CI and PR workflows, and CI was failing to load due to invalid tag filters.
What constraints or forces shape the decision?
Keep CI driven by just, avoid dev tag releases updating stable artifacts, and reduce workflow duplication.
Decision:
Summary of the choice made.
Introduce a reusable workflow for multi-arch image build/manifest creation and use it from both CI and PR workflows, while gating CI roots to skip dev tag pushes.
Alternatives considered.
Keep duplicated image steps in each workflow.
Split tag builds into a separate workflow without reuse.
Consequences:
Positive outcomes.
Consistent image build behavior across workflows with less duplication and clear tag policies.
Risks or trade-offs.
Reusable workflows add indirection when tracing failures.
Follow-up:
Implementation tasks.
Monitor build images runs for any tag mismatches or manifest issues.
Review checkpoints.
Revisit tag gating if GitHub tag filters expand to support exclusion patterns.