name: Build and release

on:
  release:
    types: [created]

jobs:

  build:
    name: Build and release
    runs-on: ubuntu-latest
    strategy:
      matrix:
        goos: [windows]
        goarch: ["amd64"]

    steps:

      - name: Set up Go
        uses: actions/setup-go@v2
        with:
          go-version: ^1.21

      - name: Check out code into the Go module directory
        uses: actions/checkout@v2
        with:
          submodules: recursive

      - name: Build stitch tool
        run: go build -v -ldflags="-X 'main.versionString=${{ github.event.release.tag_name }}'" .
        working-directory: ./bin/stitch
        env:
          GOARCH: ${{ matrix.goarch }}
          GOOS: ${{ matrix.goos }}

      - name: Create distribution archive
        run: go run -v ./scripts/dist

      - name: Upload binary to release
        uses: svenstaro/upload-release-action@v2
        with:
          file: dist/dist.zip
          asset_name: noita-mapcap-${{ matrix.goos }}-${{ matrix.goarch }}.zip
          overwrite: true
