Enhance Go CI (#99)

This commit is contained in:
Thomas Miceli
2023-09-17 02:55:17 +02:00
committed by GitHub
parent fe674ac88b
commit 3943b53163
6 changed files with 70 additions and 40 deletions

View File

@ -1,16 +1,52 @@
name: "Go"
name: "Go CI"
on:
push:
branches:
- master
- 'dev-*'
pull_request:
jobs:
checks:
lint:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Set up Go 1.19
uses: actions/setup-go@v4
with:
go-version: 1.19
- name: Lint
uses: golangci/golangci-lint-action@v3
with:
version: v1.54
skip-pkg-cache: true
args: --out-format=colored-line-number --timeout=20m
- name: Format
run: make fmt check_changes
check:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Set up Go 1.19
uses: actions/setup-go@v4
with:
go-version: 1.19
- name: Check
run: make go_mod check_changes
test:
strategy:
fail-fast: false
matrix:
os: ["ubuntu-latest", "macOS-latest"]
os: ["ubuntu-latest", "macOS-latest", "windows-latest"]
go: ["1.19", "1.20"]
runs-on: ${{ matrix.os }}
steps:
@ -18,32 +54,10 @@ jobs:
uses: actions/checkout@v3
- name: Set up Go ${{ matrix.go }}
uses: WillAbides/setup-go-faster@v1.8.0
uses: actions/setup-go@v4
with:
go-version: ${{ matrix.go }}
- name: Cache Go modules
uses: actions/cache@v3
with:
path: ~/go/pkg/mod
key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}
restore-keys: |
${{ runner.os }}-go-
- name: Run tests
run: make test
- name: Cache Go build cache
uses: actions/cache@v3
with:
path: ~/.cache/go-build
key: ${{ runner.os }}-go-build-${{ matrix.go }}
restore-keys: |
${{ runner.os }}-go-build-
- name: Run go vet
run: "go vet ./..."
- name: Run Staticcheck
uses: dominikh/staticcheck-action@v1.3.0
with:
version: "2023.1.1"
install-go: false
cache-key: ${{ matrix.go }}