name: NPM Package Publish on: push: branches: [develop, 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" - uses: pnpm/action-setup@v4 - run: pnpm install - run: pnpm build working-directory: packages/api - name: Check if version is already published working-directory: packages/api run: | PACKAGE_VERSION=$(node -p "require('./package.json').version") npm view @kksh/api@$PACKAGE_VERSION continue-on-error: true id: check_version - name: Publish working-directory: packages/api if: steps.check_version.outcome != 'success' run: npm publish --provenance --access public env: NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}}