CI modernization: caching, lint, security scanning, matrix testing#24
CI modernization: caching, lint, security scanning, matrix testing#24renecannao merged 2 commits intomasterfrom
Conversation
|
Note Gemini is unable to generate a summary for this pull request due to the file types involved not being currently supported. |
|
Warning Rate limit exceeded
⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (3)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Pull request overview
Modernizes GitHub Actions CI for orchestrator by adding Go dependency caching, new lint/security jobs, and expanding build/test coverage via a Go version matrix.
Changes:
- Enabled
actions/setup-go@v5module caching across workflows (cache: true). - Added
lint(golangci-lint) andsecurity(govulncheck) jobs to the main CI workflow. - Updated
main.ymlbuild job to run a Go version matrix and disambiguated uploaded artifacts per Go version.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 3 comments.
| File | Description |
|---|---|
| .github/workflows/main.yml | Adds Go matrix build, enables caching, and introduces lint + govulncheck security jobs. |
| .github/workflows/system.yml | Enables setup-go caching for system tests workflow. |
| .github/workflows/upgrade.yml | Enables setup-go caching for upgrade tests workflow. |
Comments suppressed due to low confidence (1)
.github/workflows/upgrade.yml:24
actions/setup-gois executed before the firstactions/checkout, butcache: trueneeds the checked-outgo.sumto restore/save a module cache. Reorder the steps so checkout happens before setup-go to make caching effective (especially important since this workflow does multiple checkouts later).
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version: '1.25.7'
cache: true
- name: Start local MySQL
run: sudo /etc/init.d/mysql start
- name: check out
uses: actions/checkout@v4
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| @@ -16,6 +16,7 @@ jobs: | |||
| uses: actions/setup-go@v5 | |||
| with: | |||
| go-version: '1.25.7' | |||
| cache: true | |||
|
|
|||
| - name: check out | |||
| uses: actions/checkout@v4 | |||
There was a problem hiding this comment.
actions/setup-go is run before actions/checkout, but cache: true relies on repo files (e.g., go.sum) to compute the cache key. With the current order the cache will be skipped/ineffective. Move the checkout step above setup-go (or provide cache-dependency-path after checkout).
| - name: Run golangci-lint | ||
| uses: golangci/golangci-lint-action@v6 | ||
| with: | ||
| version: latest |
There was a problem hiding this comment.
Using golangci-lint version: latest makes CI non-reproducible and can start failing when a new linter release ships. Pin to a specific golangci-lint version (and bump it intentionally) to keep CI stable.
| version: latest | |
| version: v1.60.3 |
| cache: true | ||
|
|
||
| - name: Install govulncheck | ||
| run: go install golang.org/x/vuln/cmd/govulncheck@latest |
There was a problem hiding this comment.
Installing govulncheck with @latest makes the security job non-deterministic and can introduce sudden failures/behavior changes. Prefer pinning to a specific golang.org/x/vuln tag (or vendor it via tools/go.mod) so the workflow is reproducible.
| run: go install golang.org/x/vuln/cmd/govulncheck@latest | |
| run: go install golang.org/x/vuln/cmd/govulncheck@v1.1.2 |
Summary
cache: truetoactions/setup-go@v5in all three workflows (main.yml,system.yml,upgrade.yml) for faster CI buildslintjob inmain.ymlusinggolangci/golangci-lint-action@v6securityjob inmain.ymlrunninggovulncheck ./...main.ymlnow tests against Go 1.24 and 1.25.7Implements Phase 2.4 of the orchestrator refresh design spec.
Closes #20
Test plan
buildjob runs for both Go 1.24 and 1.25.7lintjob runs golangci-lint successfullysecurityjob runs govulncheck successfully