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
Since May 16th, our builds were failing during the creation of the tarball to upload to EAS with a mysterious error:
Failed to upload the project tarball to EAS Build
Reason: git exited with non-zero code: 128
We investigated and the only difference we could see between the last working build and the first failing one is a change in the Ubuntu version the runner is using.
4 days ago, GitHub updated the image for the Ubuntu 22.04 runner. In the release, they updated the Git version from v2.43.2 to v2.45.1. As we didn't have any error messages, we tried to reproduce the error locally. When installing the latest Git version and running the command EAS CLI is running to clone the repo, we finally saw the error:
Cloning into '/tmp/test-clone'...
remote: fatal: active `core.hooksPath` found in the local repository config:
remote: .husky/_
remote: For security reasons, this is disallowed by default.
remote: If this is intentional and the hook should actually be run, please
remote: run the command again with `GIT_CLONE_PROTECTION_ACTIVE=false`
error: git upload-pack: git-pack-objects died with error.
remote: aborting due to possible repository corruption on the remote side.
fatal: git upload-pack: aborting due to possible repository corruption on the remote side.
fatal: early EOF
fatal: fetch-pack: invalid index-pack output
The error was due to core.hooksPath set by husky. We got our builds fixed by adding the environment variable indicated in the error message but I wanted to raise the issue here to avoid other people losing their time as we did. We can also try to find a better solution for this as it is a very common setup to have husky in a project.
Also, one thing that could have improved the debugging right away is to clearly surface the error message in the CLI instead of a git exited with non-zero code: 128 mystic error. Even with DEBUG=* enabled we couldn't see the error. We had to locally install the git version and run the command to see it.
✔ Check Expo config for common issues
✖ Check package.json for common issues
✔ Check native tooling versions
✔ Check dependencies for packages that should not be installed directly
✔ Check for common project setup issues
✔ Check for issues with metro config
✔ Check npm/ yarn versions
✔ Check Expo config (app.json/ app.config.js) schema
✖ Check that packages match versions required by installed Expo SDK
✔ Check for legacy global CLI installed locally
✔ Check that native modules do not use incompatible support packages
✔ Check that native modules use compatible support package versions for installed Expo SDK
Detailed check results:
The following scripts in package.json conflict with the contents of node_modules/.bin: prettier.
The following packages should be updated for best compatibility with the installed expo version:
[email protected] - expected version: ~3.29.0
Your project may not work correctly until you install the correct versions of the packages.
Found outdated dependencies
Advice: Use 'npx expo install --check' to review and upgrade your dependencies.
One or more checks failed, indicating possible issues with the project.
Error output
No response
Reproducible demo or steps to reproduce from a blank project
I am having the exact same issue after debugging with instructions given on the discord channel. It always fails on the cloning stage of the build command.
Managed to fix the issue just like you did but it was a pain to find it out.
Summary
Since May 16th, our builds were failing during the creation of the tarball to upload to EAS with a mysterious error:
We investigated and the only difference we could see between the last working build and the first failing one is a change in the Ubuntu version the runner is using.
4 days ago, GitHub updated the image for the Ubuntu 22.04 runner. In the release, they updated the Git version from
v2.43.2
tov2.45.1
. As we didn't have any error messages, we tried to reproduce the error locally. When installing the latest Git version and running the command EAS CLI is running to clone the repo, we finally saw the error:The error was due to
core.hooksPath
set by husky. We got our builds fixed by adding the environment variable indicated in the error message but I wanted to raise the issue here to avoid other people losing their time as we did. We can also try to find a better solution for this as it is a very common setup to have husky in a project.Also, one thing that could have improved the debugging right away is to clearly surface the error message in the CLI instead of a
git exited with non-zero code: 128
mystic error. Even withDEBUG=*
enabled we couldn't see the error. We had to locally install thegit
version and run the command to see it.Managed or bare?
Managed
Environment
Error output
No response
Reproducible demo or steps to reproduce from a blank project
eas build
in a CI (GitHub Action for example)The text was updated successfully, but these errors were encountered: