38 lines
1.2 KiB
YAML
38 lines
1.2 KiB
YAML
name: Publish to npm
|
|
on:
|
|
push:
|
|
tags:
|
|
- 'v*.*.*' # 当推送带有版本号的 tag 时触发,例如 v1.0.0
|
|
workflow_dispatch: # 添加手动触发器
|
|
|
|
jobs:
|
|
publish:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
# Step 1: Clone current Git repository
|
|
- name: Checkout this repository
|
|
uses: actions/checkout@v3
|
|
# Step 3: Setup Node.js and install dependencies
|
|
- name: Setup Node.js
|
|
uses: actions/setup-node@v3
|
|
with:
|
|
node-version: '20.6'
|
|
registry-url: 'https://registry.npmjs.org/'
|
|
cache: 'npm' # 启用 npm 缓存,提高安装速度
|
|
- name: Configure npm authentication
|
|
run: npm config set //registry.npmjs.org/:_authToken=${{ secrets.NPM_TOKEN }}
|
|
- name: Install dependencies
|
|
run: npm install
|
|
- name: Build project
|
|
run: npm run build
|
|
# Step 6: 发布到 npm
|
|
- name: Publish package
|
|
run: npm publish
|
|
env:
|
|
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|
|
# Step 7: 发布成功后,更新版本标签
|
|
# - name: Create Git tag
|
|
# run: |
|
|
# TAG="v$(node -p -e "require('./package.json').version")"
|
|
# git tag $TAG
|
|
# git push origin $TAG |