Skip to content

Commit 0e12b31

Browse files
Seungwoo321claude
andcommitted
fix: improve release workflow and add documentation
- develop 브랜치에서 snapshot 버전 사용으로 changeset 보존 - PR check workflow 추가 (lint, typecheck, build) - lint-staged에 TypeScript 체크 추가 - 릴리즈 프로세스 플로우 문서화 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
1 parent a3fe54c commit 0e12b31

File tree

13 files changed

+308
-634
lines changed

13 files changed

+308
-634
lines changed

.github/workflows/backup/create-release-pr.yml

Lines changed: 0 additions & 34 deletions
This file was deleted.

.github/workflows/backup/release-lazy-table-renderer.yml

Lines changed: 0 additions & 77 deletions
This file was deleted.

.github/workflows/backup/release-plotly-renderer.yml

Lines changed: 0 additions & 49 deletions
This file was deleted.

.github/workflows/backup/release-vue-pivottable.yml

Lines changed: 0 additions & 73 deletions
This file was deleted.

.github/workflows/pr-check.yml

Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
name: PR Check
2+
3+
on:
4+
pull_request:
5+
branches:
6+
- main
7+
- develop
8+
9+
jobs:
10+
lint-and-type-check:
11+
name: Lint and Type Check
12+
runs-on: ubuntu-latest
13+
steps:
14+
- name: Checkout
15+
uses: actions/checkout@v4
16+
17+
- name: Setup Node.js
18+
uses: actions/setup-node@v4
19+
with:
20+
node-version: '22.10.0'
21+
22+
- name: Setup pnpm
23+
uses: pnpm/action-setup@v2
24+
with:
25+
version: latest
26+
27+
- name: Install dependencies
28+
run: pnpm install
29+
30+
- name: Run ESLint
31+
run: pnpm lint
32+
33+
- name: Run TypeScript type check
34+
run: pnpm typecheck
35+
36+
- name: Check for changesets
37+
run: |
38+
if [ -n "$(ls -A .changeset/*.md 2>/dev/null | grep -v README.md)" ]; then
39+
echo "✅ Changeset found"
40+
else
41+
echo "⚠️ No changeset found. Please add a changeset with 'pnpm changeset add'"
42+
echo " This is required for all changes that affect published packages."
43+
exit 1
44+
fi
45+
46+
build:
47+
name: Build Check
48+
runs-on: ubuntu-latest
49+
steps:
50+
- name: Checkout
51+
uses: actions/checkout@v4
52+
53+
- name: Setup Node.js
54+
uses: actions/setup-node@v4
55+
with:
56+
node-version: '22.10.0'
57+
58+
- name: Setup pnpm
59+
uses: pnpm/action-setup@v2
60+
with:
61+
version: latest
62+
63+
- name: Install dependencies
64+
run: pnpm install
65+
66+
- name: Build all packages
67+
run: pnpm build:all
68+
69+
- name: Check build output
70+
run: |
71+
# Check main package
72+
if [ ! -d "dist" ]; then
73+
echo "❌ Main package build output not found"
74+
exit 1
75+
fi
76+
77+
# Check sub-packages
78+
for pkg in packages/*/; do
79+
if [ -d "$pkg" ] && [ -f "$pkg/package.json" ]; then
80+
if [ ! -d "$pkg/dist" ]; then
81+
echo "❌ Build output not found for $pkg"
82+
exit 1
83+
fi
84+
fi
85+
done
86+
87+
echo "✅ All packages built successfully"

.github/workflows/release-develop.yml

Lines changed: 9 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -45,25 +45,20 @@ jobs:
4545
echo "has_changesets=false" >> $GITHUB_OUTPUT
4646
fi
4747
48-
- name: Version packages as pre-release
48+
- name: Enter pre-release mode
4949
if: steps.changesets-check.outputs.has_changesets == 'true'
5050
run: |
51-
# Enter pre-release mode
52-
pnpm changeset pre enter beta
51+
# Check if already in pre-release mode
52+
if [ ! -f ".changeset/pre.json" ]; then
53+
pnpm changeset pre enter beta
54+
fi
5355
54-
# Version packages
55-
pnpm changeset version
56+
# Create snapshot release without consuming changesets
57+
pnpm changeset version --snapshot beta
5658
5759
# Get version
5860
VERSION=$(node -p "require('./package.json').version")
5961
echo "version=$VERSION" >> $GITHUB_OUTPUT
60-
61-
# Commit changes
62-
git config user.name "github-actions[bot]"
63-
git config user.email "github-actions[bot]@users.noreply.github.com"
64-
git add -A
65-
git commit -m "chore: version packages for beta release" || echo "No changes to commit"
66-
git push origin develop
6762
6863
- name: Build packages
6964
if: steps.changesets-check.outputs.has_changesets == 'true'
@@ -72,8 +67,8 @@ jobs:
7267
- name: Publish pre-release to npm
7368
if: steps.changesets-check.outputs.has_changesets == 'true'
7469
run: |
75-
# Publish with beta tag
76-
pnpm changeset publish --tag beta
70+
# Publish snapshot with beta tag
71+
pnpm changeset publish --tag beta --no-git-tag
7772
env:
7873
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
7974
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}

0 commit comments

Comments
 (0)