-
Notifications
You must be signed in to change notification settings - Fork 71
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
v1.8.16 breaks cache miss installs when the yarn cache dir != ~/.yarn/cache (windows, yarn2+, etc.) #146
Comments
v1.8.16 breaks cache miss installs on windows, which blocks any PRs/commits that change dependencies. Opened bahmutov/npm-install#146 to address the underlying issue, but in the meantime we can pin to the prior version to get things working again. Additional context: - Discord: https://discord.com/channels/770287896669978684/940264701785423992/991085961972707338 - Initial PR affected: remix-run#2027 - Repro/Debug PR: remix-run#3584
Facing this issue even on Linux systems. |
Confirmed. 1.8.15 addresses it https://github.com/muratkeremozcan/cy-react-component-test-examples/actions/runs/2576451291. Here's the 1.8.16 run with debug: https://github.com/muratkeremozcan/multi-stage-caching/runs/7092543067?check_suite_focus=true#step:4:63. next, since it complained about zstd, I worked around that by installing zstd, which uncovered this Error: Path Validation Error: Path(s) specified in the action for caching do(es) not exist, hence no cache is being saved. |
Here's some more context, this is the change that introduced the new error. I set up a simpler repo w/ debug logging enabled. Here's a failing install on 1.8.16, here's a passing install on 1.8.15.
|
(apologies for accidentally temporarily closing, the wrong button had focus and i hit enter 🤦 ) Based on the output it sees like this new error has actually uncovered a longstanding deeper issue, it seems that 1.8.15 "works" but doesn't actually cache anything on windows, i.e. it uploads an empty archive: |
Some more context, this might only affect yarn. Here you can see npm install works fine, it correctly finds the .npm dir:
|
Looks like the yarn cache dir is wrong on Windows (and maybe in other scenarios too)? It's trying to archive |
I suspect any Linux ones that are failing are likely due to running in different containers with a different yarn setup that what this action is inferring ... seems like the general fix will be to use whatever |
Any fix should also take into account yarn v1 vs v2/v3, as the mechanism for getting the cache dir is different ( |
Here's another workaround/fix ... As of v2.2, So if you enable its caching, you can replace your steps:
- name: Set up node
uses: actions/setup-node@v3
with:
node-version: 18
cache: yarn
- name: Install deps
run: yarn install --frozen-lockfile |
We already use `actions/setup-node@v3` which has equivalent caching functionality that isn't broken for yarn+windows (or yarn 2+ across the board). So just use that wherever possible. In addition to fixing builds, this has the added benefit of slightly speeding them up, since we won't double-cache things (in some cases we had both caches enabled). For context, see bahmutov/npm-install#146, in particular [this comment](bahmutov/npm-install#146 (comment)) and linked test output. This is an alternative to remix-run#3587 or otherwise waiting for `bahmutov/npm-install` to get fixed.
We already use `actions/setup-node@v3` which has equivalent caching functionality that isn't broken for yarn+windows (or yarn 2+ across the board). So just use that wherever possible. In addition to fixing builds, this has the added benefit of slightly speeding them up, since we won't double-cache things (in some cases we had both caches enabled). Making this PR against `main` instead `dev`, since the jobs explicitly use `remix-run/remix/.github/workflows/reusable-test.yml@main`, but I can switch it up if y'all like. Just trying to get my 4-month-old PR unblocked yet again 😆😭 For context, see bahmutov/npm-install#146, in particular [this comment](bahmutov/npm-install#146 (comment)) and linked test output. This is an alternative to remix-run#3587 or otherwise waiting for `bahmutov/npm-install` to get fixed.
We already use `actions/setup-node@v3` which has equivalent caching functionality that isn't broken for yarn+windows (or yarn 2+ across the board). So just use that wherever possible. In addition to fixing builds, this has the added benefit of slightly speeding them up, since we won't double-cache things (in some cases we had both caches enabled). Making this PR against `main` instead `dev`, since the jobs explicitly use `remix-run/remix/.github/workflows/reusable-test.yml@main`, but I can switch it up if y'all like. Just trying to get my 4-month-old PR unblocked yet again 😆😭 For context, see bahmutov/npm-install#146, in particular [this comment](bahmutov/npm-install#146 (comment)) and linked test output. This is an alternative to remix-run#3587 or otherwise waiting for `bahmutov/npm-install` to get fixed.
v1.8.16 breaks cache miss installs on windows, which blocks any PRs/commits that change dependencies. Opened bahmutov/npm-install#146 to address the underlying issue, but in the meantime we can pin to the prior version to get things working again. Additional context: - Discord: https://discord.com/channels/770287896669978684/940264701785423992/991085961972707338 - Initial PR affected: remix-run#2027 - Repro/Debug PR: remix-run#3584
We already use `actions/setup-node@v3` which has equivalent caching functionality that isn't broken for yarn+windows (or yarn 2+ across the board). So just use that wherever possible. In addition to fixing builds, this has the added benefit of slightly speeding them up, since we won't double-cache things (in some cases we had both caches enabled). Making this PR against `main` instead `dev`, since the jobs explicitly use `remix-run/remix/.github/workflows/reusable-test.yml@main`, but I can switch it up if y'all like. Just trying to get my 4-month-old PR unblocked yet again 😆😭 For context, see bahmutov/npm-install#146, in particular [this comment](bahmutov/npm-install#146 (comment)) and linked test output. This is an alternative to remix-run#3587 or otherwise waiting for `bahmutov/npm-install` to get fixed.
v1.8.16 breaks cache miss installs on windows, which blocks any PRs/commits that change dependencies. Opened bahmutov/npm-install#146 to address the underlying issue, but in the meantime we can pin to the prior version to get things working again. Additional context: - Discord: https://discord.com/channels/770287896669978684/940264701785423992/991085961972707338 - Initial PR affected: remix-run#2027 - Repro/Debug PR: remix-run#3584
We already use `actions/setup-node@v3` which has equivalent caching functionality that isn't broken for yarn+windows (or yarn 2+ across the board). So just use that wherever possible. In addition to fixing builds, this has the added benefit of slightly speeding them up, since we won't double-cache things (in some cases we had both caches enabled). Making this PR against `main` instead `dev`, since the jobs explicitly use `remix-run/remix/.github/workflows/reusable-test.yml@main`, but I can switch it up if y'all like. Just trying to get my 4-month-old PR unblocked yet again 😆😭 For context, see bahmutov/npm-install#146, in particular [this comment](bahmutov/npm-install#146 (comment)) and linked test output. This is an alternative to remix-run#3587 or otherwise waiting for `bahmutov/npm-install` to get fixed.
We already use `actions/setup-node@v3` which has equivalent caching functionality that isn't broken for yarn+windows (or yarn 2+ across the board). So just use that wherever possible. In addition to fixing builds, this has the added benefit of slightly speeding them up, since we won't double-cache things (in some cases we had both caches enabled). Making this PR against `main` instead `dev`, since the jobs explicitly use `remix-run/remix/.github/workflows/reusable-test.yml@main`, but I can switch it up if y'all like. Just trying to get my 4-month-old PR unblocked yet again 😆😭 For context, see bahmutov/npm-install#146, in particular [this comment](bahmutov/npm-install#146 (comment)) and linked test output. This is an alternative to remix-run#3587 or otherwise waiting for `bahmutov/npm-install` to get fixed.
v1.8.16 breaks cache miss installs on windows, which blocks any PRs/commits that change dependencies. Opened bahmutov/npm-install#146 to address the underlying issue, but in the meantime we can pin to the prior version to get things working again. Additional context: - Discord: https://discord.com/channels/770287896669978684/940264701785423992/991085961972707338 - Initial PR affected: remix-run#2027 - Repro/Debug PR: remix-run#3584
We already use `actions/setup-node@v3` which has equivalent caching functionality that isn't broken for yarn+windows (or yarn 2+ across the board). So just use that wherever possible. In addition to fixing builds, this has the added benefit of slightly speeding them up, since we won't double-cache things (in some cases we had both caches enabled). Making this PR against `main` instead `dev`, since the jobs explicitly use `remix-run/remix/.github/workflows/reusable-test.yml@main`, but I can switch it up if y'all like. Just trying to get my 4-month-old PR unblocked yet again 😆😭 For context, see bahmutov/npm-install#146, in particular [this comment](bahmutov/npm-install#146 (comment)) and linked test output. This is an alternative to remix-run#3587 or otherwise waiting for `bahmutov/npm-install` to get fixed.
We already use `actions/setup-node@v3` which has equivalent caching functionality that isn't broken for yarn+windows (or yarn 2+ across the board). So just use that wherever possible. In addition to fixing builds, this has the added benefit of slightly speeding them up, since we won't double-cache things (in some cases we had both caches enabled). For context, see bahmutov/npm-install#146, in particular [this comment](bahmutov/npm-install#146 (comment)) and linked test output.
We already use `actions/setup-node@v3` which has equivalent caching functionality that isn't broken for yarn+windows (or yarn 2+ across the board). So just use that wherever possible. In addition to fixing builds, this has the added benefit of slightly speeding them up, since we won't double-cache things (in some cases we had both caches enabled). For context, see bahmutov/npm-install#146, in particular [this comment](bahmutov/npm-install#146 (comment)) and linked test output.
Also saw this on a linux container. Pinned my version to 1.8.15 for now. |
@bahmutov I guess you're aware of the issue here? Are you planning on releasing a new patch version that addresses this problem? Another example of the problem happening (this time only on our Windows test run): |
Can you open a pr with a fix and I can merge it quickly please?
…Sent from my iPhone
On Jul 1, 2022, at 05:43, Karl Horky ***@***.***> wrote:
@bahmutov I guess you're aware of the issue here? Are you planning on releasing a new patch version that addresses this problem?
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.
|
#143 This PR would at least stop peoples pipelines breaking just because the cache is broken. |
Not sure if #143 disabled caching somehow though, since it just seems to turn off error reporting. I think sometimes GitHub's cache is broken, but this does not appear to be the case affecting #146 It seems like for #146, the issue is more that Yarn caching on Windows was actually broken before. See this comment and others by @jenseng above:
So it would be good to verify that this is not the case anymore, and that Yarn v1 caching on Windows runners actually works... |
* add config reg-suit * ignore node modules * add node package and lock * update snapshots to intel * adjust caml for complex view on intel * update on M1 * update ComplexView caml with date picker showing only time * use 2% default color tolerance for content view as it has 1.56% difference from M1 * add yarn lock and workflow * add npx module * generate regression report * cache yarn * fix: bahmutov/npm-install#146 bahmutov/npm-install#146 (comment)
I tried running this action today and got this error too. 1.8.17 is still not saving my cache on the first run. Rolled back to 1.8.15 and it worked 🙏Waiting for a definite fix. |
@juninholiveira are you sure you're running into the same issue? Can you link to a public repo where this is failing? (or if it's not public, maybe you can post some logs?) v1.8.16 was causing CI to fail completely (eg. GitHub Actions would stop running further steps) - it wasn't just a problem that this version did not save the cache. |
@karlhorky Oh, then no. I didn't test 1.8.16, only 1.8.17 and the build did NOT fail completely, just did not save the cache. So it's a different issue then. 1.8.15 on the other hand saved the cache as expected. |
This commit bumps the Node.js engine specified in `package.json` to be the latest LTS (18) and updates the Dockerfile and actions accordingly. This change should also speed up CI as dependencies are now cached properly by the setup node action instead of the previously buggy [[1]] install dependencies action. [1]: bahmutov/npm-install#146
This commit bumps the Node.js engine specified in `package.json` to be the latest LTS (18) and updates the Dockerfile and actions accordingly. This change should also speed up CI as dependencies are now cached properly by the setup node action instead of the previously buggy [[1]] install dependencies action. [1]: bahmutov/npm-install#146
This commit bumps the Node.js engine specified in `package.json` to be the latest LTS (18) and updates the Dockerfile and actions accordingly. This change should also speed up CI as dependencies are now cached properly by the setup node action instead of the previously buggy [[1]] install dependencies action. [1]: bahmutov/npm-install#146
This commit bumps the Node.js engine specified in `package.json` to be the latest LTS (18) and updates the Dockerfile and actions accordingly. This change should also speed up CI as dependencies are now cached properly by the setup node action instead of the previously buggy [[1]] install dependencies action. [1]: bahmutov/npm-install#146
This commit bumps the Node.js engine specified in `package.json` to be the latest LTS (18) and updates the Dockerfile and actions accordingly. This change should also speed up CI as dependencies are now cached properly by the setup node action instead of the previously buggy [[1]] install dependencies action. [1]: bahmutov/npm-install#146
* it appears that the caching ability of the library is broken * @see: bahmutov/npm-install#146
* it appears that the caching ability of the library is broken * @see: bahmutov/npm-install#146
* it appears that the caching ability of the library is broken * @see: bahmutov/npm-install#146
* it appears that the caching ability of the library is broken * @see: bahmutov/npm-install#146 fixes #DS-1402
* it appears that the caching ability of the library is broken * @see: bahmutov/npm-install#146 fixes #DS-1402
* it appears that the caching ability of the library is broken * @see: bahmutov/npm-install#146 fixes #DS-1402
* it appears that the caching ability of the library is broken * @see: bahmutov/npm-install#146 fixes #DS-1402
* it appears that the caching ability of the library is broken * @see: bahmutov/npm-install#146 fixes #DS-1402
Starting with v1.8.16, we're seeing failures in
windows-latest
workflows whenever there's a cache miss (i.e. dependencies change ... for cache hits it's still working). This happens on any version of node:Might be due to a recent underlying change in
actions/cache
? The same workflow works fine onubuntu-latest
, fwiw. The relevant workflow config is:Here's a failing windows run using the latest v1 (v1.8.16). Here's a succeeding windows run using v1.8.15. Apart from that workflow change, the checkouts are identical.
The text was updated successfully, but these errors were encountered: