CI Perf Lint

cypress-github-action-uses-npm-run

Why it matters

A repository pins a package manager through its lockfile or packageManager field. When a cypress-io/github-action step still builds or starts the app through npm, the test run depends on a second, unpinned toolchain: npm may not be installed in CI, and even when it is, it adds an inconsistent startup path next to the package manager the rest of the pipeline uses.

What it flags

The scanner flags a cypress-io/github-action step when both hold:

It does not flag:

Suggested action

Call package scripts through the repository’s package manager, or use node --run, instead of npm run. Keep the script name and any arguments unchanged.

Verification

Confirm the Cypress job installs and starts the app in an environment where only the repository’s package manager is installed.

What the scanner does

The collector resolves the repository’s package manager from package.json and lockfiles, then inspects cypress-io/github-action steps for npm invocations in the command inputs. It recognizes both npm run <script> and the npm start/npm test shorthand forms.