From eaa0cf649a9e3106838b3b09748804acec5c11fb Mon Sep 17 00:00:00 2001 From: Victor Ribeiro Boechat Date: Thu, 16 May 2024 19:36:05 -0300 Subject: [PATCH] ci: add publish workflow --- .github/workflows/publish.yml | 47 +++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 .github/workflows/publish.yml diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml new file mode 100644 index 0000000..04b566c --- /dev/null +++ b/.github/workflows/publish.yml @@ -0,0 +1,47 @@ +name: Publish to NPM + +on: + workflow_dispatch: + inputs: + version: + description: 'The version to be published' + required: true + +jobs: + publish: + runs-on: ubuntu-latest + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Setup Node.js + uses: actions/setup-node@v4 + with: + node-version: 'latest' + registry-url: 'https://registry.npmjs.org/' + + - name: Install dependencies + run: yarn install + + - name: Build project + run: yarn build + + - name: Bump version in package.json + run: | + NEW_VERSION=${{ github.event.inputs.version }} + jq --arg version "$NEW_VERSION" '.version = $version' package.json > package.tmp.json + mv package.tmp.json package.json + + - name: Publish to NPM + run: npm publish --access public + env: + NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} + + - name: Commit version bump + run: | + NEW_VERSION=${{ github.event.inputs.version }} + git config --global user.name "github-actions[bot]" + git config --global user.email "41898282+github-actions[bot]@users.noreply.github.com" + git commit -am "Publish version $NEW_VERSION" + git push origin HEAD:master