Publish versioned Docker/Homebrew artifacts for RCs, not just stable - #52
Merged
Merged
Conversation
Previously skip_push: auto / skip_upload: auto applied to entries whose image_templates mixed the version tag with latest, so a prerelease (v0.5.0-rc.1) published nothing at all -- not even a version-tagged Docker image. v0.5.0-rc.1 shipped that way. Splits each per-arch docker entry and the docker_manifests entry into a "-versioned" half (always pushed) and a "-latest" half (skip_push: auto, stable releases only), so an RC now gets its own ghcr.io/ohstr/ncli:X.Y.Z-rc.N tag while :latest still only ever tracks stable. brews has no free-tier equivalent of the cask pipe's versioned-formula support, so RCs get a second, separate `ncli-rc` formula instead: its skip_upload is the inverse of the main `ncli` formula's (upload only on a prerelease tag), and each formula declares conflicts_with the other since both install a binary named `ncli`.
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
skip_push/skip_upload: autoapplied to entries whoseimage_templatesmixed the version tag together withlatest/the stable formula -- an RC skipped everything, not just the "latest" surfaces.dockers:entry anddocker_manifests:entry into a "-versioned" half (always pushed) and a "-latest" half (skip_push: auto, stable only), so an RC now gets its ownghcr.io/ohstr/ncli:X.Y.Z-rc.Ntag while:lateststill only ever tracks a real stable release.ncli-rcHomebrew formula with the inverseskip_upload(uploads only for a prerelease tag), since the free-tierbrews:pipe has no versioned-formula feature (that's cask-only/Pro).brew install/upgrade nclistill only ever resolves to stable;brew install ohstr/tap/ncli-rcgets the latest RC. Both formulas declareconflicts_withthe other since they install the samenclibinary name.Verification
goreleaser checkon the rewritten config: same pre-existing deprecation warnings as the unmodified file onmain(legacydockers/brewspipes, already a known tradeoff documented in the file), no new errors.skip_uploadinversion directly against Go'stext/templatesemantics: rendersfalse(upload) for a non-emptyPrerelease,true(skip) for an empty one -- exactly inverted from the main formula'sauto.Test plan