Publish to NPM #168
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: Publish to NPM | |
on: | |
workflow_dispatch: | |
inputs: | |
increment: | |
description: 'Increment "major", "minor", "patch", or "pre*" version; or specify version [default: "patch"]' | |
required: true | |
default: 'patch' | |
type: string | |
dry-run: | |
description: 'Do not touch or write anything, but show the commands' | |
default: true | |
type: boolean | |
jobs: | |
release-it: | |
runs-on: ubuntu-latest | |
env: | |
GITHUB_TOKEN: ${{ secrets.GH_TOKEN }} | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
token: ${{ secrets.GH_TOKEN }} | |
- name: Setup | |
uses: ./.github/actions/setup | |
- name: Setup NPM auth token | |
run: | | |
npm set "//registry.npmjs.org/:_authToken" ${{ secrets.NPM_TOKEN }} | |
- name: Dry Run Release | |
if: ${{ inputs.dry-run }} | |
run: | | |
yarn release ${{ inputs.increment }} -d --ci | |
- name: NPM Publish | |
if: ${{ !inputs.dry-run }} | |
run: | | |
git config --global user.email "${{ secrets.GIT_EMAIL }}" | |
git config --global user.name "${{ secrets.GIT_USERNAME }}" | |
yarn release ${{ inputs.increment }} --ci --no-git.tag --no-github.release --npm.allowSameVersion | |
- name: Update Example | |
if: ${{ !inputs.dry-run }} | |
id: package-info | |
run: | | |
sed "s/\"agora-electron-sdk\": \"\(.*\)\"/\"agora-electron-sdk\": \"${{ inputs.increment }}\"/g" package.json > tmp | |
mv tmp package.json | |
working-directory: example | |
- name: Commit Example | |
if: ${{ !inputs.dry-run }} | |
run: | | |
git add example | |
git commit -m "chore(example): update example to install agora-electron-sdk@${{ inputs.increment }}" | |
- name: Release | |
if: ${{ !inputs.dry-run }} | |
run: | | |
yarn release ${{ inputs.increment }} --ci --no-npm --no-git.commit |