2020-04-10 22:50:29 +02:00
|
|
|
name: build
|
|
|
|
on:
|
|
|
|
pull_request:
|
|
|
|
paths-ignore:
|
|
|
|
- '*.md'
|
|
|
|
push:
|
|
|
|
branches:
|
|
|
|
- master
|
|
|
|
paths-ignore:
|
|
|
|
- '*.md'
|
2019-09-06 06:08:29 +02:00
|
|
|
jobs:
|
2020-04-10 22:35:55 +02:00
|
|
|
build:
|
|
|
|
name: Build
|
2019-09-06 06:08:29 +02:00
|
|
|
runs-on: ubuntu-latest
|
2020-04-10 22:50:29 +02:00
|
|
|
timeout-minutes: 5
|
2019-09-06 06:08:29 +02:00
|
|
|
steps:
|
2021-04-14 04:30:50 +02:00
|
|
|
- name: Set up Go
|
2022-04-15 20:32:44 +02:00
|
|
|
uses: actions/setup-go@v3
|
2019-09-09 03:30:21 +02:00
|
|
|
with:
|
2022-03-26 07:15:32 +01:00
|
|
|
go-version: 1.18
|
2019-09-09 03:30:21 +02:00
|
|
|
- name: Check out code into the Go module directory
|
2020-09-28 02:39:42 +02:00
|
|
|
uses: actions/checkout@v2
|
2020-04-10 22:50:29 +02:00
|
|
|
- name: Build binary to make sure it works
|
2019-09-09 03:30:21 +02:00
|
|
|
run: go build -mod vendor
|
2020-04-10 22:50:29 +02:00
|
|
|
- name: Test
|
2021-01-19 05:52:48 +01:00
|
|
|
# We're using "sudo" because one of the tests leverages ping, which requires super-user privileges.
|
2021-02-03 05:06:34 +01:00
|
|
|
# As for the 'env "PATH=$PATH" "GOROOT=$GOROOT"', we need it to use the same "go" executable that
|
2021-11-05 02:33:13 +01:00
|
|
|
# was configured by the "Set up Go" step (otherwise, it'd use sudo's "go" executable)
|
2021-07-19 04:04:49 +02:00
|
|
|
run: sudo env "PATH=$PATH" "GOROOT=$GOROOT" go test -mod vendor ./... -race -coverprofile=coverage.txt -covermode=atomic
|
2020-10-22 05:05:11 +02:00
|
|
|
- name: Codecov
|
2021-11-05 02:33:13 +01:00
|
|
|
uses: codecov/codecov-action@v2.1.0
|
2020-10-22 05:05:11 +02:00
|
|
|
with:
|
2021-11-05 02:33:13 +01:00
|
|
|
files: ./coverage.txt
|