Skip to content

Commit cffcb65

Browse files
committed
ci: add CI for checking generated changesets
1 parent b807700 commit cffcb65

File tree

1 file changed

+42
-0
lines changed

1 file changed

+42
-0
lines changed

.github/workflows/tests.yaml

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@ jobs:
1414
steps:
1515
- name: Checkout
1616
uses: actions/checkout@v4
17+
with:
18+
fetch-depth: 0
1719

1820
- name: Setup Node.js
1921
uses: actions/setup-node@v4
@@ -31,6 +33,46 @@ jobs:
3133
- name: Run format check
3234
run: pnpm format
3335

36+
# Determine which packages have changed
37+
- name: Determine changed packages
38+
id: quality-changes
39+
uses: dorny/paths-filter@v2
40+
with:
41+
filters: |
42+
react:
43+
- 'packages/react/**'
44+
angular:
45+
- 'packages/angular/**'
46+
47+
- name: Check for changesets
48+
run: |
49+
# Check if any packages have changed
50+
if [[ "${{ steps.quality-changes.outputs.react }}" == "true" ]] || [[ "${{ steps.quality-changes.outputs.angular }}" == "true" ]]; then
51+
# Check if .changeset directory exists and contains .md files
52+
if [ ! -d .changeset ] || [ -z "$(ls .changeset/*.md 2>/dev/null)" ]; then
53+
echo "❌ Changes detected in packages but no changesets found."
54+
echo ""
55+
echo "Please create a changeset with 'pnpm changeset' for changes that should be released."
56+
echo "If these changes don't need a release, please add a comment explaining why."
57+
echo ""
58+
echo "Changed packages:"
59+
if [[ "${{ steps.quality-changes.outputs.react }}" == "true" ]]; then
60+
echo "- React package"
61+
fi
62+
if [[ "${{ steps.quality-changes.outputs.angular }}" == "true" ]]; then
63+
echo "- Angular package"
64+
fi
65+
exit 1
66+
else
67+
echo "✅ Found changesets for package changes"
68+
echo ""
69+
echo "Changesets:"
70+
ls .changeset/*.md
71+
fi
72+
else
73+
echo "ℹ️ No package changes detected, skipping changeset check"
74+
fi
75+
3476
test:
3577
runs-on: ubuntu-latest
3678
needs: quality

0 commit comments

Comments
 (0)