diff --git a/.github/workflows/npm_publish.yml b/.github/workflows/npm_publish.yml new file mode 100644 index 0000000..8675f84 --- /dev/null +++ b/.github/workflows/npm_publish.yml @@ -0,0 +1,36 @@ +name: NPM Package Publish + +on: + push: + branches: [main] + release: + types: [created] + workflow_dispatch: + +jobs: + publish-npm: + runs-on: ubuntu-latest + permissions: + contents: read + id-token: write + steps: + - uses: actions/checkout@v4 + - uses: oven-sh/setup-bun@v2 + - uses: actions/setup-node@v4 + with: + node-version: "22.x" + registry-url: "https://registry.npmjs.org" + - run: bun install + - run: bun run build + - name: Check if version is already published + run: | + PACKAGE_VERSION=$(node -p "require('./package.json').version") + PACKAGE_NAME=$(jq -r '.name' package.json) + npm view $PACKAGE_NAME@$PACKAGE_VERSION + continue-on-error: true + id: check_version + - name: Publish + if: steps.check_version.outcome != 'success' + run: npm publish --provenance --access public + env: + NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}} \ No newline at end of file