Skip to content

unified-cd: create reusable image publish workflow and thin wrappers #151

@jmservera

Description

@jmservera

Summary

Create one generic reusable image-publish workflow and convert the existing API/synthesis publish workflows into thin manual wrappers.

Files to create/modify

  • Create .github/workflows/reusable-publish-image.yml
  • Modify .github/workflows/api-image-publish.yml
  • Modify .github/workflows/synthesis-image-publish.yml

Implementation notes

  • Reusable workflow should accept inputs such as image_name, dockerfile, image_repository, and tag.
  • Keep the operator approval gate (SYNTHESIS_IMAGE_PUBLISH_APPROVED) and the registry var validation.
  • Keep Trivy image scanning before push even though CI already scans images.
  • Keep environment: prod on the publish job so OIDC vars are available when called from other workflows (issue Fix OIDC credential resolution in ACR image publish workflows #145).
  • Emit image_ref and image_tag outputs for downstream promotion.
  • The API and synthesis wrappers should remain independently dispatchable and simply pass their specific Dockerfile/repository values.

Acceptance criteria

  • Existing API and synthesis manual publish entrypoints still work independently.
  • Reusable publish logic supports both images through inputs instead of duplicated YAML.
  • Both publish paths run Trivy before push and require environment: prod for OIDC vars.
  • Reusable publish outputs expose the pushed image_ref and image_tag.

Dependencies

  • None.

Metadata

Metadata

Assignees

No one assigned

    Labels

    go:needs-researchNeeds investigationsquadSquad triage inbox — Lead will assign to a membersquad:benderAssigned to Bender (Platform / Backend)

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions