---
name: Coverage
on: [push, pull_request]
permissions: read-all
jobs:
  coverage:
    # this is to prevent the job to run at forked projects
    if: github.repository == 'etcd-io/etcd'
    runs-on: ubuntu-latest
    strategy:
      fail-fast: false
      matrix:
        target:
          - linux-amd64-coverage
    steps:
      - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
      - id: goversion
        run: echo "goversion=$(cat .go-version)" >> "$GITHUB_OUTPUT"
      - uses: actions/setup-go@f111f3307d8850f501ac008e886eec1fd1932a34 # v5.3.0
        with:
          go-version: ${{ steps.goversion.outputs.goversion }}
      - env:
          TARGET: ${{ matrix.target }}
        run: |
          mkdir "${TARGET}"
          case "${TARGET}" in
            linux-amd64-coverage)
              GOARCH=amd64 make upload-coverage-report
              ;;
            *)
              echo "Failed to find target"
              exit 1
              ;;
          esac
