# SPDX-FileCopyrightText: 2022 Winni Neessen # # SPDX-License-Identifier: CC0-1.0 name: Codecov workflow permissions: read-all on: push: branches: - main paths: - '**.go' - 'go.*' - '.github/workflow/codecov.yml' - 'codecov.yml' pull_request: branches: - main paths: - '**.go' - 'go.*' - '.github/workflow/codecov.yml' - 'codecov.yml' jobs: run: runs-on: ${{ matrix.os }} strategy: matrix: os: [ubuntu-latest, macos-latest, windows-latest] go: ['1.22'] steps: - name: Checkout Code uses: actions/checkout@61b9e3751b92087fd0b06925ba6dd6314e06f089 # master - name: Setup go uses: actions/setup-go@3041bf56c941b39c61721a86cd11f3bb1338122a # v5.2.0 with: go-version: ${{ matrix.go }} - name: Run Tests run: | go test -v -race --coverprofile=coverage.coverprofile --covermode=atomic ./... - name: Upload coverage to Codecov if: success() && matrix.go == '1.22' && matrix.os == 'ubuntu-latest' uses: codecov/codecov-action@7f8b4b4bde536c465e797be725718b88c5d95e0e # v5.1.1 with: token: ${{ secrets.CODECOV_TOKEN }} # not required for public repos