Skip to content

Commit 1e81c02

Browse files
committed
Add GitHub Actions workflow for release and npm publish
1 parent adf91e2 commit 1e81c02

File tree

3 files changed

+167
-114
lines changed

3 files changed

+167
-114
lines changed

.github/workflows/release.yml

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
name: Release
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
8+
permissions:
9+
contents: read
10+
11+
jobs:
12+
release:
13+
# prevent this action from running on forks
14+
if: github.repository == 'memo-db/live2d-renderer-lite'
15+
permissions:
16+
contents: write
17+
pull-requests: read
18+
runs-on: ubuntu-latest
19+
steps:
20+
- uses: actions/checkout@v4
21+
- uses: actions/setup-node@v4
22+
with:
23+
node-version: '22.x'
24+
registry-url: 'https://registry.npmjs.org'
25+
- name: Install dependencies
26+
run: npm ci
27+
- name: Extract version from package.json
28+
uses: sergeysova/jq-action@v2
29+
id: version
30+
with:
31+
cmd: 'jq .version package.json -r'
32+
- name: Get latest tag
33+
uses: actions-ecosystem/action-get-latest-tag@v1
34+
id: get-latest-tag
35+
- name: Publish GitHub Release
36+
uses: release-drafter/release-drafter@v6
37+
if: ${{ contains(steps.get-latest-tag.outputs.tag, steps.version.outputs.value) == false }}
38+
with:
39+
version: ${{ steps.version.outputs.value }}
40+
publish: true
41+
env:
42+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
43+
- name: Publish to NPM
44+
if: ${{ contains(steps.get-latest-tag.outputs.tag, steps.version.outputs.value) == false }}
45+
run: npm publish
46+
env:
47+
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}

0 commit comments

Comments
 (0)