name: Go on: push: branches: - master - develop paths-ignore: - '*.md' pull_request: branches: - master - develop paths-ignore: - '*.md' jobs: test: name: test runs-on: ubuntu-latest strategy: matrix: go: [ '1.12.x', '1.13.x', '1.14.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 get -u -v golang.org/x/lint/golint go mod tidy -v - name: Linter run: golint -set_exit_status ./... - 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)