mirror of
https://github.com/games-on-whales/gow.git
synced 2026-10-15 21:02:02 +00:00
[PR #333] [MERGED] ci: stop PR builds from overwriting the fedora-43 tag #313
Labels
No labels
bug
enhancement
enhancement
github_actions
good first issue
help wanted
help wanted
invalid
needs testers
pull-request
question
x11-images
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
games-on-whales/gow#313
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/games-on-whales/gow/pull/333
Author: @JBailes
Created: 5/6/2026
Status: ✅ Merged
Merged: 5/12/2026
Merged by: @JBailes
Base:
master← Head:fix/fedora-raw-tag-overwrite📝 Commits (5)
883fd95base: prefer host-injected nvrtc over baked-in CUDA 11.0, fix toolkit log message096559eci: fix fork detection in docker-build-and-publish workflowf217f24ci: include variant suffix in fork-PR base image artifact lookup3aebfd1ci: stop PR builds from overwriting fedora-43 tage0afce0ci: harden flaky asset downloads in steam, base-emu, pegasus, es-de📊 Changes
12 files changed (+177 additions, -55 deletions)
View changed files
📝
.github/workflows/auto-build.yml(+8 -0)📝
.github/workflows/docker-build-and-publish.yml(+26 -18)📝
apps/es-de/build-fedora/Dockerfile(+20 -10)📝
apps/es-de/build/Dockerfile(+20 -10)📝
apps/pegasus/build-fedora/Dockerfile(+11 -3)📝
apps/pegasus/build/Dockerfile(+12 -4)📝
apps/steam/build-fedora/Dockerfile(+5 -1)📝
apps/steam/build/Dockerfile(+5 -1)📝
images/base-emu/build-fedora/Dockerfile(+20 -3)📝
images/base-emu/build/Dockerfile(+20 -3)📝
images/base/build-fedora/overlay/etc/cont-init.d/30-nvidia.sh(+15 -1)📝
images/base/build/overlay/etc/cont-init.d/30-nvidia.sh(+15 -1)📄 Description
Summary
Users have been reporting that
gameonwhales/base:fedora-43(and other:fedora-43images) point to stale builds, forcing them to pin specific SHAs to get a current image. There are two root causes in.github/workflows/:docker-build-and-publish.ymlkeysis_forkonhead.repo.full_name != base.repo, so a PR opened from a branch insidegames-on-whales/gowis treated as a non-fork and takes the production-push path (lines 189-217). Combined withtype=raw,value=fedora-43(which is unconditional indocker/metadata-action), every same-repo PR build was retagging:fedoraand:fedora-43on ghcr.io and docker.io with that PR's content.concurrency:group on the workflow. Concurrent runs on the same ref (PR + master push, two PRs, manual re-runs) raced when pushing mutable tags, so a slower-finishing older run could clobber a newer one.The per-commit
type=shatag is unaffected, which is why pinning SHAs works.Changes
docker-build-and-publish.yml: gate thetype=raw,value=fedoraandtype=raw,value=fedora-43entries ongithub.event_name == 'push' && github.ref == 'refs/heads/master'in both the build job (line ~294) and the merge job (line ~484). PR builds (same-repo or fork) no longer emit these tags.sha-<commit>-fedorais still produced on every run, so PR images remain pullable for testing.auto-build.yml: add a workflow-levelconcurrency:group keyed by${{ github.workflow }}-${{ github.ref }}withcancel-in-progress: false, so concurrent runs on the same ref serialize.Out of scope
:fedora-43won't refresh on upstream-only Fedora base-image updates without a commit. That's a separate cost/freshness decision.v*) are also not (re)gated to update:fedora-43. If releases should refresh it, extend the condition to includestartsWith(github.ref, 'refs/tags/').Test plan
masterproduces images tagged:fedora,:fedora-43,:edge-fedora,:master-fedora, and:sha-<commit>-fedora.images/**. Verify the build runs, but:fedoraand:fedora-43on ghcr.io / docker.io are NOT updated. The:sha-<commit>-fedoratag is still pushed.master(e.g. quick consecutive merges). Verify they serialize via the concurrency group and the final:fedora-43reflects the most recent commit.🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.