lbcutil/.github/workflows/go.yml
Oliver Gugger 97c3fdfaa2
ci: add Makefile, use golangci-lint
With this commit we add a Makefile with the goal of removing the
goclean.sh script. We also use the more powerful golangci-lint linter
and split the GitHub actions into multiple sections to parallelize them.
2021-09-28 10:30:21 +02:00

64 lines
1.4 KiB
YAML

name: Build and Test
on: [push, pull_request]
env:
# go needs absolute directories, using the $HOME variable doesn't work here.
GOCACHE: /home/runner/work/go/pkg/build
GOPATH: /home/runner/work/go
GO_VERSION: 1.16.8
jobs:
build:
name: Build
runs-on: ubuntu-latest
steps:
- name: Set up Go
uses: actions/setup-go@v2
with:
go-version: ${{ env.GO_VERSION }}
- name: Check out source
uses: actions/checkout@v2
- name: Build
run: make build
test-cover:
name: Unit coverage
runs-on: ubuntu-latest
steps:
- name: Set up Go
uses: actions/setup-go@v2
with:
go-version: ${{ env.GO_VERSION }}
- name: Check out source
uses: actions/checkout@v2
- name: Test
run: make unit-cover
- name: Send btcutil coverage
uses: shogo82148/actions-goveralls@v1
with:
path-to-profile: coverage.txt
- name: Send btcutil coverage for psbt package
uses: shogo82148/actions-goveralls@v1
with:
path-to-profile: psbt/coverage.txt
test-race:
name: Unit race
runs-on: ubuntu-latest
steps:
- name: Set up Go
uses: actions/setup-go@v2
with:
go-version: ${{ env.GO_VERSION }}
- name: Check out source
uses: actions/checkout@v2
- name: Test
run: make unit-race