12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- name: Go
- on:
- push:
- branches: [main]
- paths:
- - '**.go'
- pull_request:
- paths:
- - '**.go'
- env:
- GOPROXY: "https://proxy.golang.org"
- jobs:
- lint:
- name: Lint
- runs-on: ubuntu-latest
- steps:
- - uses: actions/checkout@v2
- - name: Run golangci-lint
- uses: actions-contrib/golangci-lint@v1
- with:
- args: 'run --timeout=30m'
- test:
- name: Test
- strategy:
- matrix:
- go-version: [1.14.x, 1.15.x]
- platform: [ubuntu-latest, macos-latest, windows-latest]
- runs-on: ${{ matrix.platform }}
- steps:
- - name: Install Go
- uses: actions/setup-go@v1
- with:
- go-version: ${{ matrix.go-version }}
- - name: Checkout code
- uses: actions/checkout@v2
- - name: Run unit tests
- run: go test -v -race -coverprofile=coverage -covermode=atomic ./...
- - name: Upload coverage report to Codecov
- uses: codecov/[email protected]
- with:
- file: ./coverage
- flags: unittests
- - name: Cache downloaded modules
- uses: actions/cache@v1
- with:
- path: ~/go/pkg/mod
- key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}
- restore-keys: |
- ${{ runner.os }}-go-
|