Add gated Docker Hub stable releases#15
Merged
Merged
Conversation
magiccodingman
marked this pull request as ready for review
July 25, 2026 17:33
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.
What changed
masterpublishing the rolling GHCRmasterand SHA images after the reusable appliance gate passesstable-branch release orchestrator that waits for:linux/amd64andlinux/arm64README.mdto the Docker Hub repository only after image publication and remote manifest verification succeedStable tags
The Docker Hub release publishes these tags for the same image:
stablelatest0.10.1.0sha-<commit>VERSIONcontains only the intentional major/minor series. Each newly promoted stable commit automatically receives the next patch version. Full version tags are never intentionally moved;stable,latest, and the series tag move forward.Version allocation is rerun-safe: if a failed release run already tagged the stable commit, the next run reuses that tag instead of incrementing again. Release concurrency is serialized and is not cancelled by a newer stable push.
Release sequence
stable.README.mdas the final job.Git tags created with
GITHUB_TOKENintentionally do not need to trigger another workflow because tagging and publishing occur in this same orchestrated run.Image defaults and documentation
compose.yamland.env.examplenow default tomagiccodingman/truthgate-ipfs:stablemasterTRUTHGATE_IMAGEto an immutable full versionRegression protection
The reusable runtime smoke test now downloads
/_framework/blazor.web.jsafter initial boot and again after container replacement, requiring a nontrivial payload. This covers the production-publish failure that previously left the portal rendered but noninteractive.Required repository configuration
The workflow uses the existing repository secrets:
DOCKERHUB_USERNAMEDOCKERHUB_TOKENThe token must be allowed to push and update the Docker Hub repository description. The intended repository is
<DOCKERHUB_USERNAME>/truthgate-ipfs.First release
After this PR is merged to
master, promoting that commit to astablebranch will create the first stable version asv0.1.0unless a matchingv0.1.xtag already exists.