Repository navigation
Tag the add-on image latest only from main, and run CI on pre-release branches - #27
Merged
Merged
Conversation
Every build pushed :latest beside its version tag, so a build dispatched from a pre-release branch would have become what an unversioned pull gets. Only a build of main moves :latest now; every build still pushes its version tag.
Pull requests into prerelease/** branches, and pushes to them, now run the test suite and the pre-commit lint as main does, and a pull request there that touches the vendored catalogs runs the provenance check, so a pre-release line is gated as main is.
An installed add-on pulls the image by its version tag, and a pre-release branch is cut while config.yaml still names the last release, so a build dispatched from it before the bump would overwrite that release's image under every installation. Off main, the build now refuses a version without a pre-release marker (aN, bN or rcN). On every ref it refuses a version that is neither X.Y.Z nor such a pre-release.
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.
:latestbeside its version, so a build dispatched from a pre-release branch would also have moved:latest. Only a build ofmainnow gets:latest. Every build still pushes its version tag.main. An installed add-on pulls its image by version tag. A pre-release branch is cut whileconfig.yamlstill namesthe last release, so a dispatch from it before the version bump would overwrite that release's image. Off
main, the build now refuses a version withouta pre-release marker (
aN,bNorrcN). On any ref, it refuses a version that is neitherX.Y.Znor such a pre-release.prerelease/**branches and pushes to them, as they do formain.Spec Provenance also runs on pull requests into those branches that touch the vendored catalogs, so the catalogs stay read-only there too.
Checks
build-addon.yaml,tests.yaml,lint.yamlandspec-provenance.yaml: no findings.["main", "prerelease/**"].mainwith2.6.0: the version tag and:latest.prerelease/2.7with2.6.0: refused.prerelease/2.7with2.7.0b1: the version tag only.2.6.0: refused.mainwith2.6: refused as malformed.2.7.0rc1: the version tag only.pytest tests -q: 816 passed, 11 xfailed.pre-commit run --all-files: every hook passed.