You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Looks like a few days ago, 2024/05/24, the latest version of Yarn classic (1.22.22) was updated after already having been released to the community. This caused all checksums calculated for packages built from source (IE for dependencies pointing at specific GitHub refs, etc) to change. At my company specifically, when we did a routine cache-busting operation, all of our CI/CD builds started failing and we had to spend the day before a US holiday scrambling to figure out what happened and make sure we could release code next week. Setting aside the issue of whether releases should be updated without a version change after being in the wild for months, does it even make sense for the checksums of packages to change when the dependency itself hasn't changed at all, and only the yarn-classic.cjs file downloaded during the packing process has?
To reproduce
It's impossible to provide this because the Yarn 1.22.22 release changed from what it used to be and I don't know how to get the old version anymore. You need to have a yarn.lock file with a built-from-source dependency version that has an old checksum generated with the previously released Yarn 1.22.22. If you have that, you just need to run:
yarn cache clear; yarn install and you will receive the error: package@https://github.com/foo/bar.git#commit=[sha]: The remote archive doesn't match the expected checksum
One thing I've noticed is that before we upgraded to Yarn 4.x, the old version of the lockfile did not include integrity keys for dependencies pointing directly at refs in GitHub, while the new lockfile does include checksum keys for them.
Let's just continue the conversation here, since I imagine this issue doesn't affect Yarn classic (I checked our old yarn.lock file from back when we still used classic in March, and there doesn't appear to be the same chance for conflicts since the integrity key wasn't included for this package that now has a checksum key; see my earlier comment in this issue).
This is the issue. We add /.yarnto the npmignore before packing, but in the case of ember-ajax-fetch the npmignore didn't have a trailing newline. That caused the .yarn folder to not be excluded as it should. We need to explicitly add an extra newline just in case.
Self-service
Describe the bug
Copying from Yarn 1.x issue:
Looks like a few days ago, 2024/05/24, the latest version of Yarn classic (1.22.22) was updated after already having been released to the community. This caused all checksums calculated for packages built from source (IE for dependencies pointing at specific GitHub refs, etc) to change. At my company specifically, when we did a routine cache-busting operation, all of our CI/CD builds started failing and we had to spend the day before a US holiday scrambling to figure out what happened and make sure we could release code next week. Setting aside the issue of whether releases should be updated without a version change after being in the wild for months, does it even make sense for the checksums of packages to change when the dependency itself hasn't changed at all, and only the
yarn-classic.cjs
file downloaded during the packing process has?To reproduce
It's impossible to provide this because the Yarn 1.22.22 release changed from what it used to be and I don't know how to get the old version anymore. You need to have a yarn.lock file with a built-from-source dependency version that has an old checksum generated with the previously released Yarn 1.22.22. If you have that, you just need to run:
yarn cache clear; yarn install
and you will receive the error:package@https://github.com/foo/bar.git#commit=[sha]: The remote archive doesn't match the expected checksum
Environment
Additional context
No response
The text was updated successfully, but these errors were encountered: