Skip to content

Provider Go-bump / notify / release automation#642

Draft
vipsharm wants to merge 1 commit into
mainfrom
automation/provider-go-automation
Draft

Provider Go-bump / notify / release automation#642
vipsharm wants to merge 1 commit into
mainfrom
automation/provider-go-automation

Conversation

@vipsharm

Copy link
Copy Markdown
Contributor

Automates the Go-version upgrade + release flow across the five kairos-io/provider-* repos, so we don't hand-edit each one on every Go release (ref PE-8936 / PE-8940).

What's here

  • providers-bump-go.yaml (dispatch: go_version, line, optional ticket) — fans out over all providers for the line, edits every Go-version reference, opens a PR against each line's base branch. Does not merge.
  • providers-notify-prs.yaml (dispatch / optional cron: line) — scans each provider for open PRs on the line and emails a summary (links + CI status) to vipin@, santhosh@, abhinav@. Does not merge.
  • providers-release.yaml (dispatch: line, dry_run) — after PRs are merged, computes the next patch tag from the latest tag reachable on each base branch (e.g. v4.8.3v4.8.4), creates the tag + GitHub Release with notes = commit diff since the last tag, and emails a summary. Defaults to dry_run=true.
  • providers.json — single source of truth: each provider's base branch per line (handles the 4.7 mix: kubeadm release/v4.7.4, k3s/rke2 release/v4.7.2, canonical/nodeadm rc-4.7).
  • bump-go.sh — idempotent editor (go.mod directive, Earthfile ARG GOLANG_VERSION, Dockerfile FROM golang:, literal workflow go-version:); skips files a repo lacks. Runnable locally too.

Draft until secrets are configured

CanvOS is in spectrocloud, the providers in kairos-io, so GITHUB_TOKEN can't reach them. Required repo/org secrets (see .github/provider-automation/README.md):

  • PROVIDER_AUTOMATION_TOKEN — App token / fine-grained PAT with contents:write + pull-requests:write on the provider repos
  • MAIL_SERVER, MAIL_PORT, MAIL_USERNAME, MAIL_PASSWORD — SMTP for the email steps

Once those are set, mark ready for review. The "notify, not merge" choice means a human still merges; auto-merge was intentionally left out.

🤖 Generated with Claude Code

Three workflow_dispatch workflows + a shared config and idempotent bump
script to manage the Go toolchain version and releases across the
kairos-io/provider-* repos from CanvOS:
- providers-bump-go: edit Go version everywhere + open PRs per line
- providers-notify-prs: email maintainers a summary of open PRs (no merge)
- providers-release: next-patch tag + release with diff notes + email

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
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