name: Release on: push: tags: - "v*" jobs: release: runs-on: ubuntu-latest permissions: contents: write steps: - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0 with: node-version: 22 cache: npm - run: npm ci - run: npm run build - name: Locate bundled output id: bundle run: | for f in dist/index.js dist/worker.js dist/_worker.js; do if [ -f "$f" ]; then echo "path=$f" >> "$GITHUB_OUTPUT" exit 0 fi done echo "No bundled output found in dist/" >&2 exit 1 - name: Create GitHub Release and upload bundle env: GH_TOKEN: ${{ github.token }} TAG_NAME: ${{ github.ref_name }} BUNDLE_PATH: ${{ steps.bundle.outputs.path }} run: | gh release create "$TAG_NAME" --generate-notes --verify-tag || true gh release upload "$TAG_NAME" "$BUNDLE_PATH" --clobber