Skip to content

Publish NPM Packages #29

Publish NPM Packages

Publish NPM Packages #29

Workflow file for this run

name: Publish NPM Packages
on:
workflow_dispatch:
inputs:
packagePath:
description: 'Path to the package (e.g., action-block)'
required: true
versionType:
description: 'Version update type (major, minor, patch)'
required: true
default: 'patch'
jobs:
publish-package:
runs-on: ubuntu-latest
if: >-
github.ref == 'refs/heads/main' &&
(github.actor == 'JackLian' || github.actor == 'liujuping')
steps:
- name: Checkout Repository
uses: actions/checkout@v2
- name: Setup Node.js
uses: actions/setup-node@v2
with:
node-version: '16' # 或者您希望的任何版本
- name: Publish Package
run: |
git config --local user.email "[email protected]"
git config --local user.name "GitHub Action"
echo "//registry.npmjs.org/:_authToken=${{ secrets.NPM_TOKEN }}" > .npmrc
cd packages/${{ github.event.inputs.packagePath }}
npm install --legacy-peer-deps
npm version ${{ github.event.inputs.versionType }}
npm run build
echo "//registry.npmjs.org/:_authToken=${{ secrets.NPM_TOKEN }}" > .npmrc
npm publish
echo "PACKAGE_NAME=$(node -p "require('./package.json').name")" >> $GITHUB_ENV
echo "PACKAGE_VERSION=$(node -p "require('./package.json').version")" >> $GITHUB_ENV
git add package.json
git commit -m "Bump version to ${PACKAGE_VERSION}"
git tag -a "${PACKAGE_NAME}@${PACKAGE_VERSION}" -m "Release ${PACKAGE_NAME} version ${PACKAGE_VERSION}"
git push origin "${PACKAGE_NAME}@${PACKAGE_VERSION}"