name: Build on: push: tags: - "v*" jobs: build: name: Build and release runs-on: ubuntu-latest permissions: contents: write steps: - name: Checkout uses: actions/checkout@v4 - name: Set env id: env run: | echo "tag=${GITHUB_REF#refs/*/}" >> $GITHUB_OUTPUT echo "hash=$GITHUB_SHA" >> "$GITHUB_OUTPUT" - uses: actions/setup-node@v4 with: node-version: 20 - name: Install pnpm and dependencies run: | npm i -g pnpm pnpm i - name: Build run: pnpm build --release-branch=${{ github.ref_name }} --build-minify - name: Create draft release id: create_release uses: actions/create-release@v1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: tag_name: ${{ steps.env.outputs.tag }} release_name: Revenge ${{ steps.env.outputs.tag }} draft: true prerelease: false - name: Upload dist uses: actions/upload-release-asset@v1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: upload_url: ${{ steps.create_release.outputs.upload_url }} asset_path: ./dist/revenge.js asset_name: revenge.js asset_content_type: text/javascript - name: Publish release uses: eregon/publish-release@v1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: release_id: ${{ steps.create_release.outputs.id }}