on: [push, pull_request] name: test jobs: test: strategy: matrix: go-version: [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: Format Unix if: runner.os == 'Linux' run: test -z $(go fmt ./...) - name: Test run: go test -covermode atomic -coverprofile='profile.cov' ./... - name: Send coverage if: runner.os == 'Linux' env: COVERALLS_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | GO111MODULE=off go get github.com/mattn/goveralls $(go env GOPATH)/bin/goveralls -coverprofile=profile.cov -service=github