Repository navigation
fix(release): fail on git errors in the latest-tag lookup and test it (#55) - #69
Merged
Merged
Conversation
4 of 5 tasks
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.
Description
Part of #55 (Task 2 of the plan: tooling items from comments 4, 6 and 7). This PR does not close #55.
What changes
.github/workflows/release.yml:54). The old one-linergit tag … | grep … || trueswallowed agitfailure along with grep's no-match, so a broken checkout looked like "no tags" and the version would be computed from the whole history. It moves toscripts/release-latest-tag.sh [REF]:git tag --list --merged REF --sort=-v:refnameruns on its own underset -euo pipefail, so a git failure aborts.vX.Y.Ztag prints nothing and exits 0, as before.scripts/release-latest-tag_test.sh, wired intomake test-release(already run by CI'srelease-scriptsjob). Cases:no-tags,strict-only,version-sort,ignores-prerelease,merged-only,explicit-ref(2 checks),git-failure,bad-ref(a REF that does not resolve, added after review). Throwaway repos ignore the user's and system git config.docs/release-versioning.mdlists the new script and test.ROUTER_SPEC ?=in the Makefile, so it can be overridden like the other spec variables; the two duplicateGET /_ping -> 200labels indeploy/test-sock.shbecome(granted)and(default group).Review notes
bump=patch tag=v0.3.3. No product behaviour changes.Verification
|| trueon thegit tagline makesgit-failureandbad-reffail.make test-release:51 passed, 0 failed(existing) and9 passed, 0 failed(new); the new test also passes under macOS/bin/bash3.2.scripts/*.sh), actionlint andmake lint-allare clean.Type of change
Implementation(s) changed
Testing
make test-all): not affectedtest-sock.shlabels change; CI runs the suitesROUTER_SPECassignment changes; CI runsquintscripts/release-latest-tag_test.sh)Checklist