Skip to content

cypress cache list and verify using wrong Cypress version for Yarn Modern pnp #971

@MikeMcC399

Description

@MikeMcC399

This issue refers to github-action usage with Yarn Modern Plug'n'Play (pnp).

Current behavior

When .github/workflows/example-yarn-modern-pnp.yml is run, it shows npx being called and not finding the installed version of cypress.

For example job 4959218510 shows:

/usr/local/bin/npx cypress cache list
npm WARN exec The following package was not found and will be installed: cypress@12.12.0
┌─────────┬───────────────────┐
│ version │ last used         │
├─────────┼───────────────────┤
│ 12.11.0 │ a few seconds ago │
├─────────┼───────────────────┤
│ 12.12.0 │ 3 days ago        │
└─────────┴───────────────────┘
/usr/local/bin/npx cypress verify

(Also reproducible with later versions.)

With Yarn Plug'n'Play there is no directory node_modules set up and therefore npx cannot find cypress and it installs instead the latest version, which may or may not correspond to the version specified in yarn.lock.

On a local machine, or a CI workflow which preserves the npm-cache/_npx cache, a previously installed version of Cypress may also be used.

Desired behavior

When Yarn Plug'n'Play is in use, then cache list and verify should use the installed version of Cypress (from yarn.lock) and not install a different version.

Suggestion

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions