chore: update various project files and configurations #97
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
name: check | |
env: | |
# Common versions | |
GO_VERSION: '1.20' | |
TZ: Asia/Shanghai | |
permissions: write-all | |
on: | |
pull_request: | |
branches: | |
- '*' | |
paths: | |
- '**.go' | |
- 'go.mod' | |
- '.github/workflows/**.yml' | |
push: | |
branches: | |
- '*' | |
paths: | |
- '**.go' | |
- 'go.mod' | |
- '.github/workflows/**.yml' | |
jobs: | |
check-license: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Setup Go | |
uses: actions/setup-go@v5 | |
with: | |
go-version: ${{ env.GO_VERSION }} | |
- name: install task | |
run: | | |
echo "install task" | |
go install github.com/go-task/task/v3/cmd/task@latest | |
- name: Run Check License | |
run: | | |
task gencopyright | |
modifyCode=$(git status -s | grep M | wc -l) | |
git status -s | |
if [ $modifyCode -eq 0 ] ; then | |
echo "Lic check ok" | |
else | |
echo "Failed git modify files num is $modifyCode. Lic check error,please exec 'task gencopyright' in your code " | |
exit -1 | |
fi | |
lint: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
submodules: true | |
- name: Setup Go | |
uses: actions/setup-go@v5 | |
with: | |
go-version: ${{ env.GO_VERSION }} | |
- name: install task | |
run: | | |
echo "install task" | |
go install github.com/go-task/task/v3/cmd/task@latest | |
- name: Run Linter | |
run: | | |
task lint | |
modifyCode=$(git status -s | grep M | wc -l) | |
git status -s | |
if [ $modifyCode -eq 0 ] ; then | |
echo "Lic check ok" | |
else | |
echo "Failed git modify files num is $modifyCode. Lic check error,please exec 'task gencopyright' in your code " | |
exit -1 | |
fi | |
lint_and_test: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
submodules: true | |
- name: Setup Go | |
uses: actions/setup-go@v5 | |
with: | |
go-version: ${{ env.GO_VERSION }} | |
- name: Lint package | |
uses: golangci/golangci-lint-action@v4 | |
with: | |
version: latest | |
args: --issues-exit-code=1 | |
coverage: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
submodules: true | |
- name: Setup Go | |
uses: actions/setup-go@v5 | |
with: | |
go-version: ${{ env.GO_VERSION }} | |
- name: Test package | |
run: | | |
go test -v ./... -coverprofile=coverage.txt -covermode count | |
go tool cover -func coverage.txt | |
- name: Go Coverage Badge | |
uses: tj-actions/coverage-badge-go@v2 | |
with: | |
filename: coverage.txt |