# SPDX-FileCopyrightText: 2022 Winni Neessen # # SPDX-License-Identifier: CC0-1.0 name: Codecov workflow on: push: branches: - main paths: - '**.go' - 'go.*' - '.github/workflows/codecov.yml' - 'codecov.yml' pull_request: branches: - main paths: - '**.go' - 'go.*' - '.github/workflows/codecov.yml' - 'codecov.yml' env: TEST_HOST: ${{ secrets.TEST_HOST }} TEST_FROM: ${{ secrets.TEST_USER }} TEST_ALLOW_SEND: "1" TEST_SMTPAUTH_USER: ${{ secrets.TEST_USER }} TEST_SMTPAUTH_PASS: ${{ secrets.TEST_PASS }} TEST_SMTPAUTH_TYPE: "LOGIN" TEST_ONLINE_SCRAM: "1" TEST_HOST_SCRAM: ${{ secrets.TEST_HOST_SCRAM }} TEST_USER_SCRAM: ${{ secrets.TEST_USER_SCRAM }} TEST_PASS_SCRAM: ${{ secrets.TEST_PASS_SCRAM }} permissions: contents: read jobs: run: runs-on: ${{ matrix.os }} strategy: matrix: os: [ubuntu-latest, macos-latest, windows-latest] go: ['1.23'] steps: - name: Harden Runner uses: step-security/harden-runner@91182cccc01eb5e619899d80e4e971d6181294a7 # v2.10.1 with: egress-policy: audit - name: Checkout Code uses: actions/checkout@61b9e3751b92087fd0b06925ba6dd6314e06f089 # master - name: Setup go uses: actions/setup-go@41dfa10bad2bb2ae585af6ee5bb4d7d973ad74ed # v5.1.0 with: go-version: ${{ matrix.go }} - name: Install sendmail if: matrix.go == '1.23' && matrix.os == 'ubuntu-latest' run: | sudo apt-get -y install sendmail; which sendmail - name: Run Tests run: | go test -race --coverprofile=coverage.coverprofile --covermode=atomic ./... - name: Upload coverage to Codecov if: success() && matrix.go == '1.23' && matrix.os == 'ubuntu-latest' uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 with: token: ${{ secrets.CODECOV_TOKEN }} # not required for public repos