From 9f74397dc41b5cbf9a8827df62d5bf73cd00a3f2 Mon Sep 17 00:00:00 2001 From: PunGrumpy <108584943+PunGrumpy@users.noreply.github.com> Date: Tue, 20 Oct 2026 12:19:24 +0700 Subject: [PATCH] ci(changesets): skip the check when a package.json bump only touches devDependencies Dependabot's development group bumps devDependencies in packages/vecstore-sdk/package.json, and Verify Changesets failed on it (#53) even though nothing published changes. A changed package.json now counts only when it differs from the base outside devDependencies. Source changes and every other package.json field still need a changeset. Co-Authored-By: Claude Opus 5.5 --- .github/workflows/verify-changesets.yml | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/.github/workflows/verify-changesets.yml b/.github/workflows/verify-changesets.yml index bfab6f6..7d716e7 100644 --- a/.github/workflows/verify-changesets.yml +++ b/.github/workflows/verify-changesets.yml @@ -28,7 +28,16 @@ jobs: env: BASE_SHA: ${{ github.event.pull_request.base.sha }} run: | - package_files="$(git diff --name-only "$BASE_SHA" HEAD -- 'packages/*/src/**' 'packages/*/package.json')" + package_files="$( + git diff --name-only "$BASE_SHA" HEAD -- 'packages/*/src/**' 'packages/*/package.json' | + while IFS= read -r file; do + if [ "${file##*/}" = package.json ] && + [ "$(git show "$BASE_SHA:$file" 2>/dev/null | jq -S 'del(.devDependencies)')" = "$(jq -S 'del(.devDependencies)' "$file" 2>/dev/null)" ]; then + continue + fi + echo "$file" + done + )" changeset_files="$(git diff --diff-filter=A --name-only "$BASE_SHA" HEAD -- '.changeset/*.md')" if [ -n "$package_files" ] && [ -z "$changeset_files" ]; then