# Cut a release whenever a new tag is pushed to the repo.
# You should use an annotated tag, like `git tag -a v1.2.3`
# and put the release notes into the commit message for the tag.
name: Release

on:
  push:
    tags:
      - "v*.*.*"

jobs:
  build:
    # Go cross-compilation works from linux -> any platform
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Build Go Binaries
        env:
          # NB: this variable is read by tools/release/copy_release_artifacts.sh
          DEST: artifacts
        run: |
          rm -rf ${{ env.DEST }}
          mkdir -p ${{ env.DEST }}
          bazel --bazelrc=.github/workflows/ci.bazelrc \
            run --config=release //tools/release:copy_release_artifacts
      - uses: actions/upload-artifact@v4
        with:
          name: artifacts
          path: artifacts/
          retention-days: 1

  release:
    needs: build
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      # Fetch the built artifacts from build jobs above and extract into
      # ${GITHUB_WORKSPACE}/artifacts/*
      - uses: actions/download-artifact@v4

      - name: Prepare workspace snippet
        run: .github/workflows/release_prep.sh > release_notes.txt

      - uses: softprops/action-gh-release@v2
        with:
          # Use GH feature to populate the changelog automatically
          generate_release_notes: true
          files: |
            artifacts/*
            bazel-lib-*.tar.gz
          body_path: release_notes.txt
          fail_on_unmatched_files: true
