name: Publish on: release: types: [published] env: HUSKY: 0 permissions: id-token: write jobs: publish: name: Publish runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 - name: Cache Yarn cache uses: actions/cache@v3 env: cache-name: yarn-cache with: path: ~/.yarn/berry/cache key: ${{ runner.os }}-${{ env.cache-name }}-${{ hashFiles('**/yarn.lock') }} restore-keys: | ${{ runner.os }}-${{ env.cache-name }} - name: Use Node.js uses: actions/setup-node@v4 with: node-version: '20' registry-url: 'https://registry.npmjs.org' - name: Enable Corepack run: corepack enable - name: Install dependencies run: yarn --immutable - name: Generate archive run: yarn pack - name: Publish with latest tag if: github.event.release.prelease == false run: npm publish package.tgz --tag latest --provenance working-directory: packages/react-async-button env: NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} - name: Publish with next tag if: github.event.release.prelease == true run: npm publish package.tgz --tag next --provenance working-directory: packages/react-async-button env: NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}