name: Release permissions: contents: read id-token: write on: push: tags: v* jobs: release: name: Release workflow runs-on: ubuntu-latest steps: - uses: actions/checkout@master - name: Setup Node.js uses: actions/setup-node@v3 with: registry-url: "https://registry.npmjs.org/" - name: Install run: yarn --frozen-lockfile --non-interactive - name: Build run: yarn build env: NODE_ENV: production - name: Test run: yarn test - name: Update npm run: npm install -g npm - name: Publish latest if: "!contains(github.ref, '-')" run: npm publish --tag latest --provenance env: NODE_AUTH_TOKEN: ${{ secrets.NODE_AUTH_TOKEN }} - name: Publish next if: contains(github.ref, '-') run: npm publish --tag next --provenance env: NODE_AUTH_TOKEN: ${{ secrets.NODE_AUTH_TOKEN }} - name: Remove next tag if: "!contains(github.ref, '-')" run: npm dist-tag rm thelounge next || true env: NODE_AUTH_TOKEN: ${{ secrets.NODE_AUTH_TOKEN }}