Skip to content

workflows: auto-deploy merged Renovate runner-image PRs to prod#641

Open
jeanschmidt wants to merge 1 commit into
gh/jeanschmidt/38/basefrom
gh/jeanschmidt/38/head
Open

workflows: auto-deploy merged Renovate runner-image PRs to prod#641
jeanschmidt wants to merge 1 commit into
gh/jeanschmidt/38/basefrom
gh/jeanschmidt/38/head

Conversation

@jeanschmidt
Copy link
Copy Markdown
Contributor

@jeanschmidt jeanschmidt commented May 27, 2026

Stack from ghstack (oldest at bottom):

Impact: new post-merge GitHub Actions workflow
Risk: medium

What

Adds osdc-auto-update-deploy-prod.yml. When a Renovate-authored
runner-image PR merges to main, this workflow re-validates the diff
and deploys the affected modules to the prod clusters (uw1 then ue2)
sequentially via the reusable _osdc-deploy.yml.

Why

Renovate-bumped runner images are useless until they land on the
prod clusters. We want that to happen automatically and predictably
once a human (or the autoapprover) merges the PR.

How

  • Triple gate before doing anything: PR label, bot author, and
    renovate/ branch prefix — any mismatch is a no-op.
  • Re-validates the merged diff via osdc/scripts/validate-runner-bump.py
    so a tampered/manually-edited merge cannot smuggle through.
  • Computes the affected modules from just runner-image-modules <cluster>
    and passes them through _osdc-deploy.yml's new modules input.
  • Deploys to arc-cbr-production-uw1 first, then arc-cbr-production
    (ue2). Sequential so a uw1 failure halts the rollout.

Changes

  • .github/workflows/osdc-auto-update-deploy-prod.yml: new workflow.

Notes

Depends on:

  • cluster-config.py runner-image-modules + just recipes (earlier).
  • _osdc-deploy.yml modules input (earlier).
  • validate-runner-bump.py (earlier).

Testing

  • Merge a small Renovate bump PR; observe sequential prod deploys.

Signed-off-by: Jean Schmidt contato@jschmidt.me

[ghstack-poisoned]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant