Skip to content

Commit 5779c42

Browse files
github-actions[bot]dhruva-vapidevin-ai-integration[bot]
authored
fix: verify release tags against the latest version bump (#192)
Co-authored-by: dhruva <dhruva@vapi.ai> Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
1 parent a6f57a2 commit 5779c42

1 file changed

Lines changed: 26 additions & 3 deletions

File tree

‎.github/workflows/release.yml‎

Lines changed: 26 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -61,10 +61,33 @@ jobs:
6161
exit 1
6262
fi
6363
64+
bump_commit=""
65+
while read -r candidate; do
66+
if ! parent="$(git rev-parse "${candidate}^1" 2>/dev/null)"; then
67+
continue
68+
fi
69+
candidate_version="$(git show "${candidate}:package.json" | jq -r '.version')"
70+
parent_version="$(git show "${parent}:package.json" | jq -r '.version')"
71+
if [[ "$candidate_version" != "$parent_version" ]]; then
72+
bump_commit="$candidate"
73+
break
74+
fi
75+
done < <(git log --first-parent --format=%H "$tag_commit" -- package.json)
76+
77+
if [[ -z "$bump_commit" ]]; then
78+
echo "::error::Release tag ${RELEASE_TAG} has no package version bump on main."
79+
exit 1
80+
fi
81+
82+
if [[ "$candidate_version" != "$package_version" ]]; then
83+
echo "::error::Version bump ${bump_commit} does not match package version ${package_version}."
84+
exit 1
85+
fi
86+
6487
pull_requests="$(
6588
gh api \
6689
-H "Accept: application/vnd.github+json" \
67-
"repos/${GITHUB_REPOSITORY}/commits/${tag_commit}/pulls"
90+
"repos/${GITHUB_REPOSITORY}/commits/${bump_commit}/pulls"
6891
)"
6992
release_pr="$(
7093
jq -c \
@@ -73,7 +96,7 @@ jobs:
7396
)"
7497
7598
if [[ -z "$release_pr" ]]; then
76-
echo "::error::Release tag ${RELEASE_TAG} must point to a pull request merged into main."
99+
echo "::error::Version bump ${bump_commit} must belong to a pull request merged into main."
77100
exit 1
78101
fi
79102
@@ -107,7 +130,7 @@ jobs:
107130
exit 1
108131
fi
109132
110-
echo "Verified v${previous_version} -> v${package_version} from merged PR #${pr_number}."
133+
echo "Verified v${previous_version} -> v${package_version} from merged PR #${pr_number} (bump commit ${bump_commit}, tag commit ${tag_commit})"
111134
echo "version=${package_version}" >> "$GITHUB_OUTPUT"
112135
113136
- name: Install dependencies

0 commit comments

Comments
 (0)