Skip to content

feat(vcluster-release): bump pro dependency in-pipeline; freeze extra bypass teams - #201

Merged
sydorovdmytro merged 3 commits into
mainfrom
devops-1209/vcluster-release-legacy-bump-and-freeze-bypass
Jul 30, 2026
Merged

feat(vcluster-release): bump pro dependency in-pipeline; freeze extra bypass teams#201
sydorovdmytro merged 3 commits into
mainfrom
devops-1209/vcluster-release-legacy-bump-and-freeze-bypass

Conversation

@sydorovdmytro

@sydorovdmytro sydorovdmytro commented Jul 30, 2026

Copy link
Copy Markdown
Contributor

Summary

  • vcluster-release (cut_legacy): after tagging OSS, dispatch the pro release-bump-vcluster.yaml to bump the vendored github.com/loft-sh/vcluster dependency to the new tag and wait for the auto-merged PR to land, then tag pro. Automates the manual "release-prep" bump; the tag-before-dispatch invariant is preserved and the path fails closed on a closed/timed-out bump PR.
  • auto-approve-bot-prs (reusable workflow): expose wait-max-attempts / wait-min-attempts / wait-sleep-seconds (defaults unchanged) so a caller can wait out a slow required check like e2e.
  • release-branch-freeze: new extra-bypass-team-ids input — add more teams to the freeze bypass (e.g. a bot team), since individual users can't be ruleset bypass actors.

Test plan

  • bats .github/actions/vcluster-release/test/vcluster-release.bats → 84/84 (incl. bump ordering, merged/closed-after-open/re-run-false-abort/timeout/API-failure, and a real-jq extraction check).
  • bats .github/actions/release-branch-freeze/test/freeze.bats → 23/23 (incl. extra-team payload, multi-team order, non-numeric rejection).
  • shellcheck clean on both scripts; actionlint clean on the reusable workflow; make check-docs clean.

Rollout (order matters)

Callers pin the action/workflow tags, and the new wait-* inputs would fail validation against an un-advanced tag, so:

  1. Merge this PR, then advance auto-approve-bot-prs/v1 first — the input additions are backward-compatible for existing callers that don't pass them.
  2. Merge the vcluster-pro consumer wiring (loft-sh/vcluster-pro#2124 + the v0.35/v0.36 auto-approve callers) and enable allow_auto_merge on vcluster-pro.
  3. Advance vcluster-release/v1 and release-branch-freeze/v1 (their consumers — cut-release.yaml and code-freeze.yaml — already reference them).

Review

Bugbot findings addressed in the follow-up commit: re-run false-abort guard (seen_open), poll API-error handling + heartbeat, accurate auto-merge-gate comment, and a real-jq extraction test. Rollout ordering corrected above.

Closes DEVOPS-1210
References DEVOPS-1209

… bypass teams

vcluster-release cut_legacy now bumps the vendored github.com/loft-sh/vcluster
dependency on the pro release branch (via an auto-merged PR) between the OSS
tag and the pro tag, so a legacy cut ships the co-released OSS code without a
manual release-prep PR. auto-approve-bot-prs (reusable) exposes the CI-wait
tunables so the bump PR can wait out e2e. release-branch-freeze gains
extra-bypass-team-ids so the bot team can merge while a line is frozen.
Comment thread .github/actions/vcluster-release/src/vcluster-release.sh Outdated
Comment thread .github/actions/vcluster-release/src/vcluster-release.sh
Comment thread .github/actions/vcluster-release/src/vcluster-release.sh Outdated
Comment thread .github/actions/vcluster-release/test/vcluster-release.bats
Comment thread .github/workflows/auto-approve-bot-prs.yaml
- wait_for_bump_merge: only treat a closed PR as fatal after it has been seen
  open in this wait, so the documented recovery re-run (a prior closed PR is
  still the newest ?state=all match briefly) no longer false-aborts
- surface sustained poll API failures (bad token/repo) and abort with the real
  cause after N consecutive failures instead of waiting out the full timeout;
  emit a periodic progress heartbeat
- extract the poll's jq filter (BUMP_PR_JQ) and unit-test it against real JSON
- correct the comment about auto-approve's merge lever (trusted author + chore
  PR title; the branch match is the caller's if:, not auto-approve's gate)
- regenerate auto-doc tables (freeze extra-bypass-team-ids; auto-approve wait-*)
Comment thread .github/actions/release-branch-freeze/test/freeze.bats Outdated
@sydorovdmytro
sydorovdmytro merged commit f7652e0 into main Jul 30, 2026
10 checks passed
@sydorovdmytro
sydorovdmytro deleted the devops-1209/vcluster-release-legacy-bump-and-freeze-bypass branch July 30, 2026 12:13
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.

2 participants