ci: optimize Test Suite workflow and document free-tier rule
Workflow changes (.github/workflows/ci.yml):
- Add concurrency to cancel superseded runs on the same ref
- Enable uv dependency caching keyed on uv.lock
- Split lint into a dedicated job; gate test on lint via needs
- Split matrix: PRs run Linux x {3.11, 3.14} for fast feedback;
push to main/nightly still runs the full 2-OS x 4-Python matrix
- Add fail-fast: false so all platforms surface failures together
- Add timeouts (lint: 5m, test: 20m) to bound runaway jobs
- Tighten GITHUB_TOKEN to contents: read
Docs (CONTRIBUTING.md):
- Add a short "Modifying CI Workflows" section so contributors know
to stay within standard runners / no metered storage / no paid
actions before touching .github/workflows/
All jobs continue to run on standard GitHub-hosted runners
(ubuntu-latest, windows-latest), keeping CI within the free tier.
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -134,6 +134,20 @@ In practice:
|
||||
- Prefer focused patches over broad rewrites
|
||||
- If a new abstraction is introduced, it should clearly reduce complexity rather than move it around
|
||||
|
||||
## Modifying CI Workflows
|
||||
|
||||
If your PR touches `.github/workflows/`, please keep the CI within
|
||||
GitHub Actions' free tier:
|
||||
|
||||
- Use only standard GitHub-hosted runners (`ubuntu-latest`, `windows-latest`)
|
||||
- Avoid macOS runners, larger runners (`*-cores`, `*-xlarge`, `*-gpu`),
|
||||
and self-hosted runners
|
||||
- Avoid uploading large artifacts or using long retention
|
||||
- Avoid paid Marketplace actions
|
||||
|
||||
If your change genuinely needs to step outside this, please call it out
|
||||
explicitly in the PR description so it can be discussed before merge.
|
||||
|
||||
## Questions?
|
||||
|
||||
If you have questions, ideas, or half-formed insights, you are warmly welcome here.
|
||||
|
||||
Reference in New Issue
Block a user