Skip to content

Commit 768ef96

Browse files
committed
feat: implement automated release workflow and update dependencies
1 parent e603226 commit 768ef96

6 files changed

Lines changed: 656 additions & 15 deletions

File tree

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
name: Publish GitHub Release
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
8+
jobs:
9+
publish:
10+
# 커밋 메시지가 버전 범핑 포맷([skip ci] - (v...)) 일 때만 실행
11+
if: "contains(github.event.head_commit.message, '[skip ci] - (v')"
12+
runs-on: ubuntu-latest
13+
permissions:
14+
contents: write
15+
steps:
16+
- name: Checkout code
17+
uses: actions/checkout@v3
18+
with:
19+
fetch-depth: 0
20+
21+
- name: Setup Node.js
22+
uses: actions/setup-node@v3
23+
with:
24+
node-version: 18
25+
26+
- name: Install Dependencies
27+
run: npm install simple-git semver @actions/github @actions/core dotenv
28+
29+
- name: Create GitHub Release
30+
env:
31+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
32+
# --release 플래그를 사용하여 릴리즈 등록 모드로 실행
33+
run: node scripts/release.js --release

.github/workflows/release.yml

Lines changed: 23 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,34 @@
1-
name: Release
1+
name: Automated Release & Changelog
22

33
on:
44
push:
55
branches:
66
- main
77

8+
permissions:
9+
contents: write
10+
pull-requests: write
11+
812
jobs:
9-
release:
13+
# Job 1: 변경사항 감지 및 PR 생성
14+
prepare-release:
15+
if: "!contains(github.event.head_commit.message, '[skip ci]')"
1016
runs-on: ubuntu-latest
11-
permissions:
12-
contents: read
1317
steps:
14-
- uses: actions/checkout@v3
18+
- name: Checkout code
19+
uses: actions/checkout@v3
1520
with:
16-
fetch-depth: 0 # 전체 git 기록 필요
17-
- uses: actions/setup-node@v3
21+
fetch-depth: 0 # 전체 히스토리를 가져와야 로그 분석 가능
22+
23+
- name: Setup Node.js
24+
uses: actions/setup-node@v3
1825
with:
19-
node-version: 20
20-
# - run: npm ci
21-
# - run: npx semantic-release
22-
# env:
23-
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
26+
node-version: 18
27+
28+
- name: Install Dependencies
29+
run: npm install simple-git semver @actions/github @actions/core dotenv
30+
31+
- name: Run Release Script (Create PR)
32+
env:
33+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
34+
run: node scripts/release.js

0 commit comments

Comments
 (0)