Skip to content

Merge pull request #57 from jerbob92/dependabot/go_modules/github.com… #181

Merge pull request #57 from jerbob92/dependabot/go_modules/github.com…

Merge pull request #57 from jerbob92/dependabot/go_modules/github.com… #181

Workflow file for this run

name: Go
on:
push:
branches:
- main
- development
pull_request:
branches:
- main
- development
jobs:
test-cgo:
strategy:
fail-fast: false
matrix:
os: [ ubuntu-latest, macos-latest, windows-latest ]
go: [ "1.20", "1.21", "1.22" ]
env:
COVERAGE_GO_VERSION: "1.22"
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version: ${{ matrix.go }}
- name: Vet all packages
run: |
go vet ./...
- name: Test all packages
run: |
go test -timeout 30m ./... -v
- name: Test generation of examples
run: |
go generate ./...
- name: Test implementation for coverage
if: matrix.os == 'ubuntu-latest' && matrix.go == env.COVERAGE_GO_VERSION
run: |
go test -timeout 30m `go list ./... | grep -v examples | grep -v generated` -coverpkg=-coverpkg=`go list ./... | grep -v examples | grep -v generated | tr '\n' ','` -coverprofile=coverage.out -covermode=atomic -v
- name: Archive code coverage results
if: matrix.os == 'ubuntu-latest' && matrix.go == env.COVERAGE_GO_VERSION
uses: actions/upload-artifact@v4
with:
name: code-coverage-report
path: ./coverage.out
- name: Upload coverage to Codecov
if: matrix.os == 'ubuntu-latest' && matrix.go == env.COVERAGE_GO_VERSION
uses: codecov/codecov-action@v4
with:
files: coverage.out
token: ${{ secrets.CODECOV_TOKEN }}