name: goreleaser

on:
  push:
    tags:
      - "*"

permissions:
  contents: write

jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v2
        with:
          fetch-depth: 0
      - name: Set up Go
        uses: actions/setup-go@v2
        with:
          go-version: ">=1.20.0"
      - name: Test
        run: make test

  goreleaser:
    needs: test
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v2
        with:
          fetch-depth: 0
      - name: Fetch all tags
        run: git fetch --force --tags
      - name: Set up Go
        uses: actions/setup-go@v2
        with:
          go-version: ">=1.20.0"
      - name: Run GoReleaser
        uses: goreleaser/goreleaser-action@v2
        with:
          workdir: "./cmd/obp/"
          distribution: goreleaser
          version: ${{ env.GITHUB_REF_NAME }}
          args: release --clean
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}