fix(ci): release.yml tag job dies whenever a commit has no Bump-Type footer (skills#8)
release / tag (push) Successful in 1s
release / tag (push) Successful in 1s
set -euo pipefail + `... | grep -iE '^Bump-Type:' | head -1 | awk ...` inside `bump=$(...)`: when the last commit has no Bump-Type footer (the normal default-to-patch case), grep exits 1 on no-match. Under pipefail, that propagates as the whole pipeline's exit status even though head/awk both succeed -- set -e then kills the script before it ever reaches the case statement. Broke on every push since 2026-06-22 once a footer-less commit landed after the last one that happened to carry a Bump-Type line. Appended `|| true` to swallow the expected no-match case.
This commit is contained in:
@@ -39,7 +39,7 @@ jobs:
|
||||
major=$(echo "$latest" | sed -E 's/^v([0-9]+)\.([0-9]+)\.([0-9]+)$/\1/')
|
||||
minor=$(echo "$latest" | sed -E 's/^v([0-9]+)\.([0-9]+)\.([0-9]+)$/\2/')
|
||||
patch=$(echo "$latest" | sed -E 's/^v([0-9]+)\.([0-9]+)\.([0-9]+)$/\3/')
|
||||
bump=$(printf '%s' "$last_commit" | grep -iE '^Bump-Type:' | head -1 | awk '{print tolower($2)}')
|
||||
bump=$(printf '%s' "$last_commit" | grep -iE '^Bump-Type:' | head -1 | awk '{print tolower($2)}' || true)
|
||||
case "$bump" in
|
||||
major) major=$((major + 1)); minor=0; patch=0 ;;
|
||||
minor) minor=$((minor + 1)); patch=0 ;;
|
||||
|
||||
Reference in New Issue
Block a user