Skip to content

Upgrade to go-msgpack/v2 2.1.1 #52

Upgrade to go-msgpack/v2 2.1.1

Upgrade to go-msgpack/v2 2.1.1 #52

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.20","1.21" ]
steps:
- name: "Fetch source code"
uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac # v4.0.0
- name: Install Go toolchain
uses: actions/setup-go@93397bea11091df50f3d7e59dc26a7711a8bcfbe # v4.1.0
with:
go-version: ${{ matrix.GO_VERSION }}
- name: Cache Go modules
uses: actions/cache@704facf57e6136b1bc63b828d79edcd491f0ee84 # v3.3.2
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.20","1.21" ]
steps:
- name: "Fetch source code"
uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac # v4.0.0
- name: Install Go toolchain
uses: actions/setup-go@93397bea11091df50f3d7e59dc26a7711a8bcfbe # v4.1.0
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@704facf57e6136b1bc63b828d79edcd491f0ee84 # v3.3.2
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.20","1.21" ]
steps:
- name: "Fetch source code"
uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac # v4.0.0
- name: Install Go toolchain
uses: actions/setup-go@93397bea11091df50f3d7e59dc26a7711a8bcfbe # v4.1.0
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@704facf57e6136b1bc63b828d79edcd491f0ee84 # v3.3.2
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 ./...
consistency-checks:
name: "Code Consistency Checks"
runs-on: ubuntu-latest
strategy:
matrix:
GO_VERSION: [ "1.20","1.21" ]
steps:
- name: "Fetch source code"
uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac # v4.0.0
- name: Install Go toolchain
uses: actions/setup-go@93397bea11091df50f3d7e59dc26a7711a8bcfbe # v4.1.0
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@704facf57e6136b1bc63b828d79edcd491f0ee84 # v3.3.2
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