Update package.json #33
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: npm build and publish | |
# 执行脚本的生命周期 | |
on: | |
#选择在 push 到 github 时触发工作流 | |
push: | |
#分支可以选择多个 | |
branches: [main] | |
# 一个 workflow 可以有多个 job | |
jobs: | |
build: | |
permissions: | |
id-token: write | |
contents: write | |
# 指定操作系统为'ubuntu-latest' | |
runs-on: ubuntu-latest | |
steps: | |
- name: Check if version updated | |
uses: MontyD/package-json-updated-action@1.0.1 | |
id: version-updated | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
# 检查仓库以便作业能正常访问 | |
- name: Setup repo | |
uses: actions/checkout@v4 | |
if: steps.version-updated.outputs.has-updated | |
with: | |
fetch-depth: 2 | |
- name: Install pnpm | |
uses: pnpm/action-setup@v4 | |
with: | |
version: latest | |
if: steps.version-updated.outputs.has-updated | |
- name: Node env setup | |
uses: actions/setup-node@v4 | |
if: steps.version-updated.outputs.has-updated | |
with: | |
node-version: lts/* | |
cache: pnpm | |
registry-url: 'https://registry.npmjs.org' | |
- run: pnpm i | |
if: steps.version-updated.outputs.has-updated | |
# 发布命令 | |
- run: pnpm run build && pnpm publish | |
if: steps.version-updated.outputs.has-updated | |
env: | |
# npm_token 就是刚刚填写 token 时取的名字 | |
NODE_AUTH_TOKEN: ${{ secrets.NPMPUBHAOYANG }} | |
NPM_CONFIG_PROVENANCE: true | |
- name: Create a tag | |
uses: salsify/action-detect-and-tag-new-version@v2 | |
if: steps.version-updated.outputs.has-updated |