| on: |
| push: |
| branches: |
| - master |
| pull_request: |
| branches: |
| - master |
| |
| name: run tests |
| jobs: |
| lint: |
| runs-on: ubuntu-latest |
| steps: |
| - uses: actions/cache@v2 |
| with: |
| path: ~/go/pkg/mod |
| key: x${{ runner.os }}-go-${{ hashFiles('**/go.sum') }} |
| restore-keys: | |
| ${{ runner.os }}-go- |
| - name: Install Go |
| uses: actions/setup-go@v2 |
| with: |
| go-version: 1.16.x |
| - name: Checkout code |
| uses: actions/checkout@v2 |
| - name: Run linters |
| uses: golangci/golangci-lint-action@v2 |
| with: |
| version: v1.29 |
| |
| test: |
| needs: lint |
| strategy: |
| matrix: |
| go-version: [1.16.x] |
| platform: [ubuntu-latest, macos-latest, windows-latest] |
| runs-on: ${{ matrix.platform }} |
| steps: |
| - uses: actions/cache@v2 |
| with: |
| path: ~/go/pkg/mod |
| key: x${{ runner.os }}-go-${{ hashFiles('**/go.sum') }} |
| restore-keys: | |
| ${{ runner.os }}-go- |
| - name: Install Go |
| if: success() |
| uses: actions/setup-go@v2 |
| with: |
| go-version: ${{ matrix.go-version }} |
| - name: Checkout code |
| uses: actions/checkout@v2 |
| - name: Run tests |
| run: go test -v -covermode=count |
| |
| coverage: |
| needs: lint |
| runs-on: ubuntu-latest |
| steps: |
| - uses: actions/cache@v2 |
| with: |
| path: ~/go/pkg/mod |
| key: x${{ runner.os }}-go-${{ hashFiles('**/go.sum') }} |
| restore-keys: | |
| ${{ runner.os }}-go- |
| - name: Install Go |
| if: success() |
| uses: actions/setup-go@v2 |
| with: |
| go-version: 1.16.x |
| - name: Checkout code |
| uses: actions/checkout@v2 |
| - name: Calc coverage |
| run: | |
| go test -v -covermode=count -coverprofile=coverage.out |
| - name: Convert coverage.out to coverage.lcov |
| uses: jandelgado/gcov2lcov-action@v1.0.6 |
| - name: Coveralls |
| uses: coverallsapp/github-action@v1.1.2 |
| with: |
| github-token: ${{ secrets.github_token }} |
| path-to-lcov: coverage.lcov |