name: build on: [push, pull_request] jobs: build: strategy: matrix: go-version: [1.11.x, 1.12.x, 1.13.x, 1.14.x, 1.15.x] os: [ubuntu-latest, macos-latest, windows-latest] runs-on: ${{ matrix.os }} env: GO111MODULE: "on" COLORTERM: "truecolor" COLORFGBG: "7;0" TERM: "xterm-256color" steps: - name: Install Go uses: actions/setup-go@v1 with: go-version: ${{ matrix.go-version }} - name: Checkout code uses: actions/checkout@v1 - name: Download Go modules run: go mod download - name: Build run: go build -v ./... - name: Test run: go test ./... if: matrix.os != 'windows-latest' - name: Coverage env: COVERALLS_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | go test -race -covermode atomic -coverprofile=profile.cov ./... GO111MODULE=off go get github.com/mattn/goveralls $(go env GOPATH)/bin/goveralls -coverprofile=profile.cov -service=github if: matrix.go-version == '1.15.x' && matrix.os == 'ubuntu-latest'