Skip to content

release: Hand "Update main" PRs over to the releaseworker - #492

Merged
michaellzc merged 1 commit into
mainfrom
wg/plat-881-update-main-from-releaseworker
Oct 21, 2026
Merged

michaellzc merged 1 commit into
mainfrom
wg/plat-881-update-main-from-releaseworker

Conversation

@DaedalusG

@DaedalusG DaedalusG commented Oct 20, 2026 •

Copy link
Copy Markdown
Contributor

Promote finalize opens a draft "Update main: build vX" PR after every release, but none has ever been merged, so main here lags many releases behind. Its Buildkite build also always fails: promote/release-vX-update-main matches the ^promote\/release-.* release steps, and (promote) Release: test stops with "did not find serialized config" (for example, deploy-sourcegraph-k8s build 1187).

The releaseworker now opens the "Update main" PR itself after the promote build passes, with squash auto-merge enabled and the Platform team requested as reviewers (sourcegraph/sourcegraph#17347). This PR:

  • removes the "Update main" steps from promoteToPublic.finalize in release.yaml, so the releaseworker and Buildkite don't both create it;
  • skips the (promote) Release: test and (promote) Release: finalize steps on *-update-main branches in .buildkite/pipeline.yaml.

Ship this together with sourcegraph/sourcegraph#17347. Until both are live, a release either gets no "Update main" PR or a duplicate attempt that the releaseworker logs and skips.

Part of PLAT-881. Matching changes: docker#1443, helm#972.

Checklist

  • Update CHANGELOG.md: not needed, release tooling only
  • Update K8s Upgrade notes: not needed
  • Kustomize-specific changes: none
  • Update sister repository: deploy-sourcegraph-helm (see below)
  • Update sister repository: deploy-sourcegraph-docker (see below)
  • Verify all images have a valid tag and SHA256 sum (no image changes)

Test plan

Both YAML files parse, and promoteToPublic.finalize now contains only the tag and release registry steps. The pipeline conditions still match promote/release-v8.1.0 and no longer match promote/release-v8.1.0-update-main. The next release's promote build and "Update main" PR will exercise this end to end.

The releaseworker now opens the "Update main" PR itself, with auto-merge
enabled and Platform requested as reviewers, so promote finalize no longer
creates it.

The Buildkite promote release steps now skip promote/release-*-update-main
branches. Those branches carry no serialized release config, so
"(promote) Release: test" failed on every one of them.

Amp-Thread-ID: https://ampcode.com/threads/T-01a15b02-d007-70c8-94ff-02a631709466
@github-actions

github-actions Bot commented Oct 20, 2026 •

Copy link
Copy Markdown

@DaedalusG
DaedalusG requested a review from a team October 21, 2026 15:47
@DaedalusG
DaedalusG marked this pull request as ready for review October 21, 2026 15:48
michaellzc pushed a commit to sourcegraph/deploy-sourcegraph-docker that referenced this pull request Oct 21, 2026
Promote finalize opens a draft "Update main: build vX" PR after every
release, but none has ever been merged, so `main` here lags many
releases behind. Its Buildkite build also always fails:
`promote/release-vX-update-main` matches the `^promote\/release-.*`
release steps, and `(promote) Release: test` stops with "did not find
serialized config" (for example, [deploy-sourcegraph-k8s build
1187](https://buildkite.com/sourcegraph/deploy-sourcegraph-k8s/builds/1187)).

The releaseworker now opens the "Update main" PR itself after the
promote build passes, with squash auto-merge enabled and the Platform
team requested as reviewers
([sourcegraph/sourcegraph#17347](sourcegraph/sourcegraph#17347)).
This PR:

- removes the "Update main" steps from `promoteToPublic.finalize` in
`release.yaml`, so the releaseworker and Buildkite don't both create it;
- skips the `(promote) Release: test` and `(promote) Release: finalize`
steps on `*-update-main` branches in `.buildkite/pipeline.yaml`.

Ship this together with sourcegraph/sourcegraph#17347. Until both are
live, a release either gets no "Update main" PR or a duplicate attempt
that the releaseworker logs and skips.

Part of
[PLAT-881](https://linear.app/sourcegraph/issue/PLAT-881/close-release-generated-prs-when-release-is-complete).
Matching changes:
[k8s#492](sourcegraph/deploy-sourcegraph-k8s#492),
[helm#972](sourcegraph/deploy-sourcegraph-helm#972).

### Checklist

* [x] All images have a valid tag and SHA256 sum (no image changes)

### Test plan

Both YAML files parse, and `promoteToPublic.finalize` now contains only
the tag and release registry steps. The pipeline conditions still match
`promote/release-v8.1.0` and no longer match
`promote/release-v8.1.0-update-main`. The next release's promote build
and "Update main" PR will exercise this end to end.
@michaellzc michaellzc added the backport 8.1.x Backport to 8.1.x release branch label Oct 21, 2026
@michaellzc
michaellzc merged commit bfa9a36 into main Oct 21, 2026
6 checks passed
michaellzc pushed a commit to sourcegraph/deploy-sourcegraph-helm that referenced this pull request Oct 21, 2026
Promote finalize opens a draft "Update main: build vX" PR after every
release, but none has ever been merged, so `main` here lags many
releases behind. Its Buildkite build also always fails:
`promote/release-vX-update-main` matches the `^promote\/release-.*`
release steps, and `(promote) Release: test` stops with "did not find
serialized config" (for example, [deploy-sourcegraph-k8s build
1187](https://buildkite.com/sourcegraph/deploy-sourcegraph-k8s/builds/1187)).

The releaseworker now opens the "Update main" PR itself after the
promote build passes, with squash auto-merge enabled and the Platform
team requested as reviewers
([sourcegraph/sourcegraph#17347](sourcegraph/sourcegraph#17347)).
This PR:

- removes the "Update main" steps from `promoteToPublic.finalize` in
`release.yaml`, so the releaseworker and Buildkite don't both create it;
- skips the `(promote) Release: test` and `(promote) Release: finalize`
steps on `*-update-main` branches in `.buildkite/pipeline.yaml`.

Ship this together with sourcegraph/sourcegraph#17347. Until both are
live, a release either gets no "Update main" PR or a duplicate attempt
that the releaseworker logs and skips.

Part of
[PLAT-881](https://linear.app/sourcegraph/issue/PLAT-881/close-release-generated-prs-when-release-is-complete).
Matching changes:
[docker#1443](sourcegraph/deploy-sourcegraph-docker#1443),
[k8s#492](sourcegraph/deploy-sourcegraph-k8s#492).

### Checklist

- [ ] Follow the manual testing process: not applicable, no chart
changes
- [ ] Update changelog: not needed, release tooling only
- [ ] Update Kubernetes update doc: not needed

### Test plan

Both YAML files parse, and `promoteToPublic.finalize` now contains only
the tag and release registry steps. The pipeline conditions still match
`promote/release-v8.1.0` and no longer match
`promote/release-v8.1.0-update-main`. The next release's promote build
and "Update main" PR will exercise this end to end.
michaellzc pushed a commit to sourcegraph/deploy-sourcegraph-helm that referenced this pull request Oct 21, 2026
…orker (#974)

Backport 44e0288 from #972

Promote finalize opens a draft "Update main: build vX" PR after every
release, but none has ever been merged, so `main` here lags many
releases behind. Its Buildkite build also always fails:
`promote/release-vX-update-main` matches the `^promote\/release-.*`
release steps, and `(promote) Release: test` stops with "did not find
serialized config" (for example, [deploy-sourcegraph-k8s build
1187](https://buildkite.com/sourcegraph/deploy-sourcegraph-k8s/builds/1187)).

The releaseworker now opens the "Update main" PR itself after the
promote build passes, with squash auto-merge enabled and the Platform
team requested as reviewers
([sourcegraph/sourcegraph#17347](sourcegraph/sourcegraph#17347)).
This PR:

- removes the "Update main" steps from `promoteToPublic.finalize` in
`release.yaml`, so the releaseworker and Buildkite don't both create it;
- skips the `(promote) Release: test` and `(promote) Release: finalize`
steps on `*-update-main` branches in `.buildkite/pipeline.yaml`.

Ship this together with sourcegraph/sourcegraph#17347. Until both are
live, a release either gets no "Update main" PR or a duplicate attempt
that the releaseworker logs and skips.

Part of
[PLAT-881](https://linear.app/sourcegraph/issue/PLAT-881/close-release-generated-prs-when-release-is-complete).
Matching changes:
[docker#1443](sourcegraph/deploy-sourcegraph-docker#1443),
[k8s#492](sourcegraph/deploy-sourcegraph-k8s#492).

### Checklist

- [ ] Follow the manual testing process: not applicable, no chart
changes
- [ ] Update changelog: not needed, release tooling only
- [ ] Update Kubernetes update doc: not needed

### Test plan

Both YAML files parse, and `promoteToPublic.finalize` now contains only
the tag and release registry steps. The pipeline conditions still match
`promote/release-v8.1.0` and no longer match
`promote/release-v8.1.0-update-main`. The next release's promote build
and "Update main" PR will exercise this end to end.

Co-authored-by: Warren Gifford <warrenbruceg@gmail.com>
michaellzc added a commit that referenced this pull request Oct 21, 2026
…orker (#493)

Backports #492 so 8.1.x patch releases use the same releaseworker-owned
"Update main" flow as main. This is an unchanged cherry-pick: remove the
old finalize PR creation and exclude update-main branches from promote
steps.

Requires sourcegraph/sourcegraph#17347 to be deployed before the next
release. Companion backports are deploy-sourcegraph-helm#974 and the
deploy-sourcegraph-docker backport of #1443.

Co-authored-by: Warren Gifford <warrenbruceg@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backport 8.1.x Backport to 8.1.x release branch

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants