优化给零值赋值参数的逻辑 #12
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: create-release | |
on: | |
push: | |
branches: | |
- main # 监听 main 分支的 push 操作(编译和测试/代码检查) | |
tags: | |
- 'v*' # 监听以 'v' 开头的标签的 push 操作(发布 Release) | |
jobs: | |
lint: | |
name: lint | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/setup-go@v5 | |
with: | |
go-version: "1.23.x" | |
- uses: actions/checkout@v4 | |
- name: golangci-lint | |
uses: golangci/golangci-lint-action@v6 | |
with: | |
version: latest | |
test: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
go: [ "1.22.x", "1.23.x" ] | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-go@v5 | |
with: | |
go-version: ${{ matrix.go }} | |
- name: Run test | |
run: make test COVERAGE_DIR=/tmp/coverage | |
- name: Send goveralls coverage | |
uses: shogo82148/actions-goveralls@v1 | |
with: | |
path-to-profile: /tmp/coverage/combined.txt | |
flag-name: Go-${{ matrix.go }} | |
parallel: true | |
if: ${{ github.event.repository.fork == false }} # 仅在非 fork 时上传覆盖率 | |
check-coverage: | |
name: Check coverage | |
needs: [ test ] | |
runs-on: ubuntu-latest | |
steps: | |
- uses: shogo82148/actions-goveralls@v1 | |
with: | |
parallel-finished: true | |
if: ${{ github.event.repository.fork == false }} # 仅在非 fork 时检查覆盖率 | |
# 发布 Release | |
release: | |
name: Release a new version | |
needs: [ lint, test ] | |
runs-on: ubuntu-latest | |
# 仅在推送标签时执行 - && - 仅在非 fork 时执行发布 | |
if: ${{ github.event.repository.fork == false && success() && startsWith(github.ref, 'refs/tags/v') }} | |
steps: | |
# 1. 检出代码 | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
# 2. 创建 Release 和上传源码包 | |
- name: Create Release | |
uses: softprops/action-gh-release@v2 | |
with: | |
generate_release_notes: true | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |