ci: use sparse checkout for lightweight CI jobs#7529
Conversation
The actionlint, workflow-job-names, and release status jobs only need a small subset of the repo. Switching to sparse checkout avoids cloning the full tree and, for workflow-job-names, replaces a full dependency install with just the single required package.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #7529 +/- ##
=======================================
Coverage 80.23% 80.23%
=======================================
Files 731 731
Lines 31194 31194
=======================================
Hits 25027 25027
Misses 6167 6167 Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
Overall package sizeSelf size: 4.61 MB Dependency sizes| name | version | self size | total size | |------|---------|-----------|------------| | import-in-the-middle | 2.0.6 | 81.92 kB | 813.08 kB | | dc-polyfill | 0.1.10 | 26.73 kB | 26.73 kB |🤖 This report was automatically generated by heaviest-objects-in-the-universe |
BenchmarksBenchmark execution time: 2026-02-13 13:50:19 Comparing candidate commit f47f4de in PR branch Found 0 performance improvements and 0 performance regressions! Performance is the same for 231 metrics, 29 unstable metrics. |

What does this PR do?
Switches three lightweight CI jobs to use sparse checkout instead of cloning the full repository tree:
actionlint(project.yml): Only needs.github/to lint workflow files. The sparse checkout also makes theClear package.jsonworkaround unnecessary — with nopackage.jsonin the checkout, actionlint's internalnpm installis a harmless no-op.workflow-job-names(project.yml): Only reads.github/workflows/*.ymlfiles and depends on a single npm package (yaml). Replaces the fullbun installof all dependencies withnpm install yaml.status(release.yml): Thescripts/release/status.jsscript is fully self-contained (only uses Node.js built-ins and the GitHub API via env vars). Sparse-checks out just that one file.Motivation
These jobs were doing full repo checkouts and, in some cases, full dependency installs despite only needing a tiny subset of the repo. Sparse checkout reduces clone time and, for
workflow-job-names, avoids installing hundreds of unnecessary packages.