fix: update v7.5.4453 Docker Compose image manifests#1407
Merged
DaedalusG merged 1 commit intoJul 22, 2026
Conversation
dcomas
approved these changes
Jul 22, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
release-v7.5.4453branch before moving tagv7.5.4453to the corrected branch headImpact
The current
v7.5.4453tag contains stale Docker Compose image references, including Sourcegraph 6.1 and PostgreSQL 6.0 images. Users checking out the 7.5.4453 tag therefore do not receive the images produced for the 7.5.4453 search release.What happened
The Temporal
UpdateDockerImagesactivity completed successfully and reported both expected files as updated. It created commitd20cc5d6f1da12a6872fa968b9f927c18cc904c6(Update compose images to v7.5.4453). That commit contains the expected internal image changes, but it is no longer reachable from the release branch.One second later, the workflow created the empty Buildkite configuration commit
7e757fd508c04ea857580b1438c7108602eaca2d. Both commits have the same parent,31be4b977b9b9c28f9ccc4a4a2a188a972ab0f54, rather than the configuration commit having the image-update commit as its parent:Our hypothesis is that the GitHub ref read performed by the configuration-commit activity briefly returned the old branch head after the image activity had updated it. The configuration commit was consequently created from the stale parent. The workflow then force-updated the branch ref, replacing the image commit instead of advancing from it.
This matches the implementation: the generic commit input supports an explicit
ParentCommitSHAto avoid GitHub eventual-consistency races, but the empty configuration-commit path fetches the branch head again and does not chain directly from the image activity result. The ref update is also forced, allowing a stale, non-fast-forward commit to silently replace the previous branch head.This would explain why prior releases worked: the race depends on whether the updated GitHub ref is visible before the immediately following activity reads it. The k8s workflow performs multiple commits and has more time between its first update and configuration commit.
Follow-up
After this PR merges, move tag
v7.5.4453to the mergedrelease-v7.5.4453branch head so checkouts of the tag receive these corrected manifests.The workflow should separately be hardened by explicitly chaining the configuration commit from the image-update commit and avoiding forced ref updates for normal sequential commits.
Test plan
UpdateDockerImages7.5.4453and pinned public digestsgit diff --check