Skip to content

cmd/serf/command/agent: fix dropped error #96

cmd/serf/command/agent: fix dropped error

cmd/serf/command/agent: fix dropped error #96

Workflow file for this run

name: Checks
on:
pull_request:
# This workflow runs for not-yet-reviewed external contributions and so it
# intentionally has no write access and only limited read access to the
# repository.
permissions:
contents: read
jobs:
lint:
name: "Run golangci-lint"
runs-on: ubuntu-latest
strategy:
matrix:
GO_VERSION: ['1.19', '1.20']
steps:
- name: "Fetch source code"
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3.3.0
- name: Install Go toolchain
uses: actions/setup-go@fac708d6674e30b6ba41289acaab6d4b75aa0753 # v4.0.1
with:
go-version: ${{ matrix.GO_VERSION }}
- name: Cache Go modules
uses: actions/cache@88522ab9f39a2ea568f7027eddc7d8d8bc9d59c8 # v3.3.1
with:
path: |
~/.cache/go-build
~/go/pkg/mod
key: go-mod-${{ matrix.GO_VERSION }}-${{ hashFiles('go.sum') }}
restore-keys: |
go-mod-${{ matrix.GO_VERSION }}
- name: "Download golang-lint"
run: |
curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b "$(go env GOPATH)/bin"
golangci-lint --version
- name: "lint"
run: |
golangci-lint run -v
unit-tests:
name: "Unit Tests"
runs-on: ubuntu-latest
strategy:
matrix:
GO_VERSION: [ "1.16","1.17","1.18" ]
steps:
- name: "Fetch source code"
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3.3.0
- name: Install Go toolchain
uses: actions/setup-go@fac708d6674e30b6ba41289acaab6d4b75aa0753 # v4.0.1
with:
go-version: ${{ matrix.GO_VERSION }}
# NOTE: This cache is shared so the following step must always be
# identical across the unit-tests, e2e-tests, and consistency-checks
# jobs, or else weird things could happen.
- name: Cache Go modules
uses: actions/cache@88522ab9f39a2ea568f7027eddc7d8d8bc9d59c8 # v3.3.1
with:
path: |
~/.cache/go-build
~/go/pkg/mod
key: go-mod-${{ matrix.GO_VERSION }}-${{ hashFiles('go.sum') }}
restore-keys: |
go-mod-${{ matrix.GO_VERSION }}
- name: "Unit tests"
run: |
go test ./...
unit-tests-race:
name: "Unit Tests Race"
runs-on: ubuntu-latest
strategy:
matrix:
GO_VERSION: [ "1.16","1.17","1.18" ]
steps:
- name: "Fetch source code"
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3.3.0
- name: Install Go toolchain
uses: actions/setup-go@fac708d6674e30b6ba41289acaab6d4b75aa0753 # v4.0.1
with:
go-version: ${{ matrix.GO_VERSION }}
# NOTE: This cache is shared so the following step must always be
# identical across the unit-tests, e2e-tests, and consistency-checks
# jobs, or else weird things could happen.
- name: Cache Go modules
uses: actions/cache@88522ab9f39a2ea568f7027eddc7d8d8bc9d59c8 # v3.3.1
with:
path: |
~/.cache/go-build
~/go/pkg/mod
key: go-mod-${{ matrix.GO_VERSION }}-${{ hashFiles('go.sum') }}
restore-keys: |
go-mod-${{ matrix.GO_VERSION }}
- name: "Race Unit tests"
run: |
go test -race ./serf/...
consistency-checks:
name: "Code Consistency Checks"
runs-on: ubuntu-latest
strategy:
matrix:
GO_VERSION: [ "1.16","1.17","1.18" ]
steps:
- name: "Fetch source code"
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3.3.0
- name: Install Go toolchain
uses: actions/setup-go@fac708d6674e30b6ba41289acaab6d4b75aa0753 # v4.0.1
with:
go-version: ${{ matrix.GO_VERSION }}
# NOTE: This cache is shared so the following step must always be
# identical across the unit-tests and consistency-checks
# jobs, or else weird things could happen.
- name: Cache Go modules
uses: actions/cache@88522ab9f39a2ea568f7027eddc7d8d8bc9d59c8 # v3.3.1
with:
path: |
~/.cache/go-build
~/go/pkg/mod
key: go-mod-${{ matrix.GO_VERSION }}-${{ hashFiles('go.sum') }}
restore-keys: |
go-mod-${{ matrix.GO_VERSION }}
- name: "go.mod and go.sum consistency check"
run: |
go mod tidy
if [[ -n "$(git status --porcelain)" ]]; then
echo >&2 "ERROR: go.mod/go.sum are not up-to-date. Run 'go mod tidy' and then commit the updated files."
exit 1
fi
- name: "go vet"
run: |
go vet ./...
- name: "go fmt check"
run: |
files=$(go fmt ./...)
if [ -n "$files" ]; then
echo "The following file(s) do not conform to go fmt:"
echo "$files"
exit 1
fi