test: remove pnpm store cache loose match restore-keys #1180
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Issue
pnpm basic and workspaces workflows
include the use of the GitHub provided actions/cache action to cache dependencies installed by pnpm, with the input
restore-keys
set to a loose match in the form:This leads to non-deterministic outcomes of any jobs in the worksflows running on the same operating system in parallel, since the state of the GitHub caches in the branch concerned depends on the variable timing of other jobs which are running. Jobs which are exposed to this issue are:
basic-pnpm-ubuntu-20
andbasic-pnpm-ubuntu-22
jobs in the example-basic-pnpm.yml workflowThe non-deterministic behaviour is in contrast to the
cypress-io/github-action
which uses exact cache key matches.Change
Remove the option
restore-keys
from the workflows listed above and from the documentation examples in the README.Correct also an error in example-start-and-pnpm-workspaces.yml where the cache was incorrectly using the lock file from examples/basic-pnpm instead of from examples/start-and-pnpm-workspaces.
Related issues
Related PRs
References
Verification
Downgrade the pnpm examples to Cypress
13.8.0
Run each workflow twice and confirm no errors.
Revert the pnpm examples to Cypress
13.9.0
and again run each workflow twice with no errors.