Skip to content

Commit 64b075a

Browse files
juandavclaude
andcommitted
fix(ci): prevent auto-changeset infinite loop
Only create auto changeset when: - The commit is NOT a changesets version commit - No changesets already exist - There are actual source changes since the last tag Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 6b2330e commit 64b075a

File tree

1 file changed

+26
-3
lines changed

1 file changed

+26
-3
lines changed

.github/workflows/release.yml

Lines changed: 26 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,18 +38,41 @@ jobs:
3838
- name: Run tests
3939
run: pnpm run test --filter=@nestjs-modules/mailer
4040

41-
- name: Auto-create changeset if none exists
41+
- name: Auto-create changeset if source code changed
4242
run: |
43+
# Skip if this push is a changesets version commit (prevents infinite loop)
44+
COMMIT_MSG=$(git log -1 --pretty=%s)
45+
if echo "$COMMIT_MSG" | grep -q "^chore(release)"; then
46+
echo "Skipping: this is a changesets version commit"
47+
exit 0
48+
fi
49+
50+
# Skip if changesets already exist
4351
CHANGESETS=$(ls .changeset/*.md 2>/dev/null | grep -v README.md || true)
44-
if [ -z "$CHANGESETS" ]; then
45-
echo "No changesets found, creating auto patch changeset..."
52+
if [ -n "$CHANGESETS" ]; then
53+
echo "Skipping: changesets already exist"
54+
exit 0
55+
fi
56+
57+
# Check if there are actual changes in packages/ or apps/ since last tag
58+
LAST_TAG=$(git describe --tags --abbrev=0 2>/dev/null || echo "")
59+
if [ -n "$LAST_TAG" ]; then
60+
CHANGES=$(git diff --name-only "$LAST_TAG"..HEAD -- packages/ apps/ | head -1)
61+
else
62+
CHANGES="first-release"
63+
fi
64+
65+
if [ -n "$CHANGES" ]; then
66+
echo "Source changes detected, creating auto changeset..."
4667
cat > .changeset/auto-release.md << 'CHANGESET'
4768
---
4869
'@nestjs-modules/mailer': patch
4970
---
5071
5172
Auto-release patch version with latest changes.
5273
CHANGESET
74+
else
75+
echo "No source changes detected, skipping changeset creation"
5376
fi
5477
5578
- name: Create Release Pull Request or Publish

0 commit comments

Comments
 (0)