name: uBO release

on:
  create:
    branches: master

permissions:
  contents: read

jobs:
  build:
    permissions:
      contents: write # for creating release
    name: Build packages
    runs-on: ubuntu-slim
    if: startsWith(github.ref, 'refs/tags/')
    steps:
      - name: Clone repository
        uses: actions/checkout@v4
        with:
          persist-credentials: false
      - name: Clone uAssets
        run: |
          tools/pull-assets.sh
      - name: Get release information
        run: |
          echo "VERSION=${GITHUB_REF/refs\/tags\//}" >> $GITHUB_ENV
      - name: Build MV2 packages
        run: |
          tools/make-chromium.sh ${{ env.VERSION }}
          tools/make-firefox.sh ${{ env.VERSION }}
      - name: Assemble release notes
        run: |
          > release.body.txt
          grep -m1 -B10000 -- "----------" CHANGELOG.md >> release.body.txt
          sed -e 's/%version%/${{ env.VERSION }}/g' .github/workflows/RELEASE.HEAD.md >> release.body.txt
      - name: Create GitHub release
        id: create_release
        uses: softprops/action-gh-release@v2
        env:
          GITHUB_TOKEN: ${{ github.token }}
        with:
          tag_name: ${{ env.VERSION }}
          name: ${{ env.VERSION }}
          draft: true
          prerelease: true
          body_path: release.body.txt
          files: |
            dist/build/uBlock0_${{ env.VERSION }}.chromium.zip
            dist/build/uBlock0_${{ env.VERSION }}.firefox.xpi
