Skip to content

ci: improve CI workflows and add golangci-lint config#71

Merged
liangshuo-1 merged 9 commits intomainfrom
ci/improve-workflows
Mar 30, 2026
Merged

ci: improve CI workflows and add golangci-lint config#71
liangshuo-1 merged 9 commits intomainfrom
ci/improve-workflows

Conversation

@liangshuo-1
Copy link
Copy Markdown
Collaborator

Summary

  • Add paths filters to all workflows to skip unnecessary CI runs on non-Go changes
  • Use go-version-file: go.mod instead of hardcoded Go version for single source of truth
  • Unify all runners to ubuntu-latest
  • Consolidate staticcheck and vet jobs into golangci-lint with a curated linter set
  • Add go mod tidy check, govulncheck (v1.1.4), and go-licenses (v2.0.1) dependency license check
  • Enable -race in coverage workflow, increase test timeout from 30s to 5m
  • Add go build verification step to tests workflow
  • Add .codecov.yml with project status as informational and 60% patch coverage target
  • Add .golangci.yml (v2) with security and correctness focused linters

Test plan

  • Verify coverage workflow triggers correctly on .go file changes
  • Verify lint workflow runs golangci-lint v2.1.6 successfully
  • Verify go mod tidy check passes
  • Verify govulncheck and go-licenses checks pass
  • Verify tests workflow completes with new timeout and build step
  • Confirm workflows do NOT trigger on non-Go file changes (e.g., docs-only PRs)

- Add path filters to avoid unnecessary CI runs on non-Go changes
- Use go-version-file instead of hardcoded Go version
- Unify runners to ubuntu-latest
- Consolidate staticcheck/vet into golangci-lint with curated linter set
- Add go mod tidy check, govulncheck, and dependency license check
- Enable race detector in coverage, increase test timeout to 5m
- Add build verification step to tests workflow
- Add .codecov.yml with patch coverage target (60%)
- Add .golangci.yml (v2) with security and correctness linters

Change-Id: I409beb21cc1f1568ff47739c0a00f6214c10a0dd
- Remove Codecov action dependency and CODECOV_TOKEN usage
- Generate coverage report using go tool cover and display in Job Summary
- Rename job from 'codecov' to 'coverage'
- Remove .codecov.yml from paths filter

Change-Id: Ib65dab6c4d7117c3300a9ea31eb1550537c72f88
Change-Id: Ic1c492dd339f5460d2be2971ac65ea8f99e524eb
…t restriction

Change-Id: I87274abf9780eb8b6350e98a27302ec5acc2a2e5
…ia --new-from-rev

Change-Id: I3d4a13cfd7b6c02e4098b04b8533a7248185c077
Change-Id: I112279c5ec06dc0aa3aa7e01d564ea27fbd20533
Change-Id: Iec57e8fbe42699f687d931d9dde2f879f2ae5b02
…blocking

- Add exptostd, gocheckcompilerdirectives, gochecksumtype, gomoddirectives linters
- Move gosec, staticcheck, errname, errorlint, misspell to TODO for later enablement
- Remove G104 exclusion (errcheck is disabled)
- Make govulncheck continue-on-error until Go version is upgraded

Change-Id: I330ece4f202229aee1e2f50790f6b22738704c05
Change-Id: Ifd018ebe79cd18402171417b1b73313af2d23c6d
@liangshuo-1 liangshuo-1 merged commit e5a83f5 into main Mar 30, 2026
6 checks passed
@liangshuo-1 liangshuo-1 deleted the ci/improve-workflows branch March 30, 2026 10:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants