parent
64ebdfdbe4
commit
aaacbab37c
|
@ -7,13 +7,13 @@ jobs:
|
||||||
timeout-minutes: 10
|
timeout-minutes: 10
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Install Go
|
|
||||||
uses: actions/setup-go@v3
|
|
||||||
with:
|
|
||||||
go-version: 1.20.x
|
|
||||||
|
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Install Go
|
||||||
|
uses: actions/setup-go@v4
|
||||||
|
with:
|
||||||
|
go-version-file: 'go.mod'
|
||||||
|
|
||||||
- name: Update minor and patch-level dependencies
|
- name: Update minor and patch-level dependencies
|
||||||
run: go get -t -u ./...
|
run: go get -t -u ./...
|
||||||
|
|
|
@ -1,45 +0,0 @@
|
||||||
on:
|
|
||||||
workflow_dispatch:
|
|
||||||
pull_request:
|
|
||||||
types: [opened, reopened, ready_for_review, synchronize]
|
|
||||||
push:
|
|
||||||
branches:
|
|
||||||
- main
|
|
||||||
- master
|
|
||||||
name: Run checks
|
|
||||||
jobs:
|
|
||||||
check:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- name: Install Go
|
|
||||||
uses: actions/setup-go@v3
|
|
||||||
with:
|
|
||||||
go-version: 1.20.x
|
|
||||||
- name: Get StaticCheck
|
|
||||||
run: go install honnef.co/go/tools/cmd/staticcheck@v0.4.2 # Version 2023.1.2 (v0.4.2)
|
|
||||||
- name: Checkout
|
|
||||||
uses: actions/checkout@v3
|
|
||||||
with:
|
|
||||||
submodules: recursive
|
|
||||||
- name: Gomod
|
|
||||||
run: |
|
|
||||||
go mod tidy
|
|
||||||
if [[ -n $(git ls-files --other --exclude-standard --directory -- go.sum) ]]; then
|
|
||||||
echo "go.sum was added by go mod tidy"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
git diff --exit-code -- go.sum go.mod
|
|
||||||
- name: Gofmt
|
|
||||||
if: ${{ success() || failure() }} # run this step even if the previous one failed
|
|
||||||
run: |
|
|
||||||
out=$(gofmt -s -l .)
|
|
||||||
if [[ -n "$out" ]]; then
|
|
||||||
echo $out | awk '{print "::error file=" $0 ",line=0,col=0::File is not gofmt-ed."}'
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
- name: Vet
|
|
||||||
if: ${{ success() || failure() }} # run this step even if the previous one failed
|
|
||||||
run: go vet ./...
|
|
||||||
- name: StaticCheck
|
|
||||||
if: ${{ success() || failure() }} # run this step even if the previous one failed
|
|
||||||
run: staticcheck ./...
|
|
|
@ -1,46 +0,0 @@
|
||||||
on:
|
|
||||||
workflow_dispatch:
|
|
||||||
pull_request:
|
|
||||||
types: [opened, reopened, ready_for_review, synchronize]
|
|
||||||
push:
|
|
||||||
branches:
|
|
||||||
- main
|
|
||||||
- master
|
|
||||||
name: Test Go tip
|
|
||||||
jobs:
|
|
||||||
test:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- name: Install Go
|
|
||||||
uses: actions/setup-go@v3
|
|
||||||
with:
|
|
||||||
go-version: 1.20.x
|
|
||||||
- name: Install Go tip
|
|
||||||
run: |
|
|
||||||
go install golang.org/dl/gotip@latest
|
|
||||||
gotip download
|
|
||||||
gotip version
|
|
||||||
- name: Checkout
|
|
||||||
uses: actions/checkout@v3
|
|
||||||
with:
|
|
||||||
submodules: recursive
|
|
||||||
- id: Cache
|
|
||||||
uses: actions/cache@v3
|
|
||||||
with:
|
|
||||||
path: |
|
|
||||||
~/go/pkg/mod # Module download cache
|
|
||||||
~/.cache/go-build # Build cache (Linux)
|
|
||||||
key: ubuntu-go-${{ hashFiles('**/go.sum') }}
|
|
||||||
restore-keys: |
|
|
||||||
ubuntu-go-
|
|
||||||
- name: Dependencies
|
|
||||||
run: gotip mod download
|
|
||||||
if: steps.cache.outputs.cache-hit != 'true'
|
|
||||||
- name: Test
|
|
||||||
run: gotip test ./...
|
|
||||||
- name: Test 32 bit
|
|
||||||
env:
|
|
||||||
GOARCH: 386
|
|
||||||
run: gotip test ./...
|
|
||||||
- name: Test with race detector
|
|
||||||
run: gotip test -race ./...
|
|
|
@ -11,39 +11,59 @@ jobs:
|
||||||
test:
|
test:
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
go-version: [1.19.x, 1.20.x]
|
|
||||||
os: ["ubuntu", "windows", "macos"]
|
os: ["ubuntu", "windows", "macos"]
|
||||||
runs-on: ${{ matrix.os }}-latest
|
runs-on: ${{ matrix.os }}-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Install Go
|
|
||||||
uses: actions/setup-go@v3
|
|
||||||
with:
|
|
||||||
go-version: ${{ matrix.go-version }}
|
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
submodules: recursive
|
submodules: recursive
|
||||||
- id: Cache
|
|
||||||
uses: actions/cache@v3
|
- name: Install Go
|
||||||
|
uses: actions/setup-go@v4
|
||||||
with:
|
with:
|
||||||
path: |
|
go-version-file: 'go.mod'
|
||||||
~/go/pkg/mod # Module download cache
|
|
||||||
~/.cache/go-build # Build cache (Linux)
|
- name: Get StaticCheck
|
||||||
~/Library/Caches/go-build # Build cache (Mac)
|
if: ${{ matrix.os == 'ubuntu' }}
|
||||||
'%LocalAppData%\go-build' # Build cache (Windows)
|
run: go install honnef.co/go/tools/cmd/staticcheck@latest
|
||||||
key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}
|
|
||||||
restore-keys: |
|
- name: Gomod
|
||||||
${{ runner.os }}-go-
|
if: ${{ matrix.os == 'ubuntu' }}
|
||||||
- name: Dependencies
|
run: |
|
||||||
run: go mod download
|
go mod tidy
|
||||||
if: steps.cache.outputs.cache-hit != 'true'
|
if [[ -n $(git ls-files --other --exclude-standard --directory -- go.sum) ]]; then
|
||||||
|
echo "go.sum was added by go mod tidy"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
git diff --exit-code -- go.sum go.mod
|
||||||
|
|
||||||
|
- name: Gofmt
|
||||||
|
if: ${{ matrix.os == 'ubuntu' && (success() || failure()) }} # run this step even if the previous one failed
|
||||||
|
run: |
|
||||||
|
out=$(gofmt -s -l .)
|
||||||
|
if [[ -n "$out" ]]; then
|
||||||
|
echo $out | awk '{print "::error file=" $0 ",line=0,col=0::File is not gofmt-ed."}'
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
- name: Vet
|
||||||
|
if: ${{ matrix.os == 'ubuntu' && (success() || failure()) }} # run this step even if the previous one failed
|
||||||
|
run: go vet ./...
|
||||||
|
|
||||||
|
- name: StaticCheck
|
||||||
|
if: ${{ matrix.os == 'ubuntu' && (success() || failure()) }} # run this step even if the previous one failed
|
||||||
|
run: staticcheck ./...
|
||||||
|
|
||||||
- name: Test
|
- name: Test
|
||||||
run: go test ./...
|
run: go test ./...
|
||||||
|
|
||||||
- name: Test 32 bit
|
- name: Test 32 bit
|
||||||
if: ${{ matrix.os != 'macos' }} # can't run 32 bit tests on OSX.
|
if: ${{ matrix.os != 'macos' }} # can't run 32 bit tests on OSX.
|
||||||
env:
|
env:
|
||||||
GOARCH: 386
|
GOARCH: 386
|
||||||
run: go test ./...
|
run: go test ./...
|
||||||
|
|
||||||
- name: Test with race detector
|
- name: Test with race detector
|
||||||
if: ${{ matrix.os == 'ubuntu' }} # speed things up. Windows and OSX VMs are slow
|
if: ${{ matrix.os == 'ubuntu' }} # speed things up. Windows and OSX VMs are slow
|
||||||
run: go test -race ./...
|
run: go test -race ./...
|
||||||
|
|
|
@ -1,15 +1,18 @@
|
||||||
name: Bump version
|
name: Bump version
|
||||||
on:
|
on:
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
push:
|
workflow_run:
|
||||||
branches:
|
workflows: ["Run tests"]
|
||||||
- main
|
types:
|
||||||
- master
|
- completed
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build:
|
build:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Bump version and push tag
|
- name: Bump version and push tag
|
||||||
id: tag_version
|
id: tag_version
|
||||||
uses: mathieudutour/github-tag-action@v6.1
|
uses: mathieudutour/github-tag-action@v6.1
|
||||||
|
|
Loading…
Reference in New Issue