build(deps): bump codecov/codecov-action from 4 to 5 #13
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Copyright 2024 Shaolong Chen. All rights reserved. | |
# Use of this source code is governed by a MIT style | |
# license that can be found in the LICENSE file. | |
name: Go | |
on: | |
push: | |
branches: | |
- main | |
paths: | |
- '**.go' | |
- 'go.mod' | |
- '.golangci.yml' | |
- '.github/workflows/go.yml' | |
pull_request: | |
paths: | |
- '**.go' | |
- 'go.mod' | |
- '.golangci.yml' | |
- '.github/workflows/go.yml' | |
env: | |
GOPROXY: "https://proxy.golang.org" | |
jobs: | |
lint: | |
name: Lint | |
runs-on: ubuntu-latest | |
steps: | |
- name: Install Go | |
uses: actions/setup-go@v5 | |
with: | |
go-version: 1.21.x | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Run golangci-lint | |
uses: golangci/golangci-lint-action@v6 | |
with: | |
version: latest | |
args: --timeout=30m | |
- name: Check Go module tidiness | |
shell: bash | |
run: | | |
go mod tidy | |
STATUS=$(git status --porcelain go.mod go.sum) | |
if [ ! -z "$STATUS" ]; then | |
echo "Running go mod tidy modified go.mod and/or go.sum" | |
exit 1 | |
fi | |
- name: Check code format | |
shell: bash | |
run: | | |
go install mvdan.cc/gofumpt@latest | |
go install github.com/rinchsan/gosimports/cmd/gosimports@latest | |
if [ $(gofumpt -extra -l . | wc -l) != 0 ]; then | |
echo 'Code not formated' | |
exit 1 | |
fi | |
if [ $(gosimports -local github.com/maolonglong -l . | wc -l) != 0 ]; then | |
echo 'Code not formated' | |
exit 1 | |
fi | |
test: | |
name: Test | |
strategy: | |
matrix: | |
go-version: [ 1.21.x ] | |
platform: [ macos-latest ] | |
runs-on: ${{ matrix.platform }} | |
steps: | |
- name: Install Go | |
uses: actions/setup-go@v5 | |
with: | |
go-version: ${{ matrix.go-version }} | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Run tests | |
run: go test -shuffle=on -v -race -count=1 -coverprofile=coverage -covermode=atomic ./... | |
- name: Upload coverage report to Codecov | |
uses: codecov/codecov-action@v5 | |
with: | |
file: ./coverage | |
flags: unittests |