name: Build and Test on: push: pull_request: types: [synchronize] schedule: - cron: "0 0 1,11,21 * *" jobs: test: strategy: fail-fast: false matrix: go-version: - 1.13.x - 1.14.x - 1.15.x - 1.16.x - 1.17.x os: [ubuntu-latest, macos-latest, windows-latest] runs-on: ${{ matrix.os }} steps: - name: Install Go uses: actions/setup-go@v2 with: go-version: ${{ matrix.go-version }} - name: Checkout code uses: actions/checkout@v2 - name: Run coverage run: go test -race -coverprofile=coverage.txt -covermode=atomic - name: Upload coverage to Codecov run: bash <(curl -s https://codecov.io/bash)