name: Go on: push: branches: - master paths-ignore: - '*.md' pull_request: branches: - master paths-ignore: - '*.md' jobs: test: name: test runs-on: ubuntu-latest strategy: matrix: go: [ '1.14.x', '1.15.x' ] steps: - name: Setup go uses: actions/setup-go@v1 with: go-version: ${{ matrix.go }} id: go - name: Check out code into the Go module directory uses: actions/checkout@v2 - name: Set GOPATH # temporary fix # see https://github.com/actions/setup-go/issues/14 run: | echo "##[set-env name=GOPATH;]$(dirname $GITHUB_WORKSPACE)" echo "##[add-path]$(dirname $GITHUB_WORKSPACE)/bin" shell: bash - uses: actions/cache@v1 with: path: ~/go/pkg/mod key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }} restore-keys: | ${{ runner.os }}-go- - name: Get dependencies run: | go mod tidy -v - name: Tests run: go test -coverprofile=coverage.txt -covermode=atomic ./... - name: Codecov env: CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} run: bash <(curl -s https://codecov.io/bash) golangci: name: lint runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: golangci-lint uses: golangci/golangci-lint-action@v2 with: version: v1.29 only-new-issues: true