fix(ci): Replace npm install -g @go-task/cli with go-task/setup-task action to eliminate npm supply-chain risk; Use reusable CI actions from yscope-dev-utils; Bump actions/checkout to v6.0.2.#414
Conversation
…sk` action to eliminate npm supply-chain risk.
|
Warning Rate limit exceeded
Your organization is not enrolled in usage-based pricing. Contact your admin to enable usage-based pricing to continue reviews beyond the rate limit, or try again in 29 minutes and 1 seconds. ⌛ 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: ASSERTIVE Plan: Pro Run ID: 📒 Files selected for processing (5)
✨ 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 |
…ns/checkout` to v6.0.2; Update `yscope-dev-utils` to 38bf51e.
npm install -g @go-task/cli with go-task/setup-task action to eliminate npm supply-chain risk.npm install -g @go-task/cli with go-task/setup-task action to eliminate npm supply-chain risk; Use reusable CI actions from yscope-dev-utils; Bump actions/checkout to v6.0.2.
Description
All CI workflows install the Task runner via
npm install -g @go-task/cli.@go-task/clideclaresa transitive dependency on
axios: ^1.8.2, and because global npm installs have no lock file, npmresolves to whatever the latest semver-compatible version is at install time. During the
axios supply-chain compromise on 2026-03-31, this caused CI runners to pull in the
malicious
[email protected]package, which executed a post-install script that connected to anattacker-controlled C2 server.
This PR:
npm install -g @go-task/cliwith the officialgo-task/setup-taskGitHub Action, pinned by commit SHA. The action downloads the Task binary directly from GitHub
Releases without involving npm, eliminating the transitive dependency on axios and the broader npm
supply-chain attack surface.
actions/setup-python,go-task/setup-task, and the standalonecoreutilsinstall step in
log-viewer-docs.yamlwith reusable CI actions fromyscope-dev-utils(theinstall-pythonandinstall-go-taskcompositeactions). The
install-go-taskaction already handles the macOScoreutilsinstallationinternally, so the separate step is no longer needed.
actions/checkoutfrom unpinnedv4/ old SHA tode0fac2e4500dabe0009e67214ff5f5447ce83dd(v6.0.2) across all workflows (lint.yaml,log-viewer-docs.yaml,release.yaml,test.yaml).tools/yscope-dev-utilssubmodule to38bf51ewhich contains the reusable CI actions.Checklist
breaking change.
Validation performed
npm install -gcommands remain in any workflow file.3be4020d41929789a01026e0e427a4321ce0ad44corresponds togo-task/setup-taskv2.0.0.actions/checkoutis pinned tode0fac2e4500dabe0009e67214ff5f5447ce83dd(v6.0.2)in all workflow files.
yscope-dev-utilscomposite actions (install-python,install-go-task) arecorrectly referenced from
./tools/yscope-dev-utils/exports/github/actions/.install-go-taskaction includes the macOScoreutilsinstallation step,making the standalone step in
log-viewer-docs.yamlredundant.