Skip processing on closed result channel, fix panic (#215) #327
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI Checks | |
# run this workflow on commits and pull requests | |
on: | |
push: | |
branches: [ master ] | |
pull_request: | |
jobs: | |
lint: | |
name: Lint | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/setup-go@v3 | |
with: | |
go-version: 1.20.x # Avoid latest here. New Go versions can break linters. | |
- uses: actions/checkout@v3 | |
- name: golangci-lint | |
uses: golangci/golangci-lint-action@v3 | |
with: | |
version: v1.52.2 | |
build: | |
name: Build release binaries | |
runs-on: ubuntu-latest | |
steps: | |
- name: Use latest Go version | |
uses: actions/setup-go@v3 | |
with: | |
go-version: ^1.20 | |
- name: Checkout source | |
uses: actions/checkout@master | |
with: | |
ref: ${{ github.ref }} | |
- name: Build | |
run: make -j8 build # '-j N' runs each build task in parallel. | |
tests: | |
name: Test with Go ${{ matrix.go }} | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
go: | |
- 1.17.x | |
- 1.18.x | |
- 1.19.x | |
- ^1.20 # Latest version of Go | |
steps: | |
- name: Use Go ${{ matrix.go }} | |
uses: actions/setup-go@v3 | |
with: | |
go-version: ${{ matrix.go }} | |
- name: Checkout source | |
uses: actions/checkout@master | |
with: | |
ref: ${{ github.ref }} | |
- name: Run tests | |
run: make test | |
- name: Report to Coveralls | |
if: matrix.go == '^1.20' | |
uses: shogo82148/actions-goveralls@v1 | |
with: | |
path-to-profile: cover.out |