-
Notifications
You must be signed in to change notification settings - Fork 100
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
The .git folder seems to be included in the upload to EAS #2875
Comments
Hey @davidcarboni! In v15 we changed how we pack a project into a tarball. Previously, we indeed would be ignoring all
It's just a shallow clone, so Hm, rereading your This being said, I now see how archiving a cloned (even the shallow-cloned) repository is suboptimal — the files are stored both "live" in the working directory and packed in I've got three ideas for you:
EDIT: Actually, let me add support for excluding |
Can you check if |
I can confirm that [email protected] doesn't include .git |
Thank you very much for this, I really appreciate it! It sounds helpful that it's a shallow clone (and as far as I could see all the other directories apart from app were empty). Weirdly it was just Either way, I'll try the latest, if |
Wonderful, just updated to Thank you so much! |
I too did not expect that! I trusted shallow clone to be "small" because it's "just the latest commit" and since I only shallow-cloned small test apps I never had to consider However, now, once people started complaining about "big tarball size" warning I started inspecting shallow clones of bigger repositories. Interestingly, a big repository had a big I tried some recommendations to make Then I realized — if I, right now, Not to say |
I've been having a very similar issues with this the last two days. Maybe this is a seperate issue report, but this new shallow copy of the .git folder has broken git submodules. I have a submodule in my project that is not needed in eas build, however if I try to exclude it in .easignore i get: ✔ Incremented versionCode from 168 to 169. The only reference to this folder is in .git and .easignore. My persumption is that git sees this as a file, while eas seems to consider it a folder. Removing it from easignore seems to bundle fine again. (but bundle is now 100mb larger) Tell me if you want this in a new issue or if this is still .git folder related. this was not an issue untill 2 days ago. |
Build/Submit details page URL
No response
Summary
I got a warning saying "Your project archive is 159 MB. You can reduce its size and the time it takes to upload by excluding files that are unnecessary for the build process in .easignore file."
I used
eas build:inspect
to check what's being included. The output is as expected, except that it includes the full contents of the.git
directory (not something I want shared).I've tried explicitly adding
.git
and/.git/**
to my.easignore
but the directory is still included.Here's my
.easignore
contents:Managed or bare?
Managed
Environment
expo-env-info 1.2.2 environment info:
System:
OS: Linux 6.11 Ubuntu 24.10 24.10 (Oracular Oriole)
Shell: 5.2.32 - /bin/bash
Binaries:
Node: 22.13.1 - ~/.nvm/versions/node/v22.13.1/bin/node
Yarn: 1.22.22 - ~/.nvm/versions/node/v22.13.1/bin/yarn
npm: 11.1.0 - ~/.nvm/versions/node/v22.13.1/bin/npm
npmPackages:
expo: ^52.0.30 => 52.0.30
react: 18.3.1 => 18.3.1
react-native: 0.76.6 => 0.76.6
npmGlobalPackages:
eas-cli: 15.0.3
Expo Workflow: managed
Enabled experimental React Native Directory checks. Unset the EXPO_DOCTOR_ENABLE_DIRECTORY_CHECK environment variable to disable this check.
✔ Check package.json for common issues
✔ Check Expo config for common issues
✔ Check native tooling versions
✔ Check if the project meets version requirements for submission to app stores
✔ Check for common project setup issues
✔ Check dependencies for packages that should not be installed directly
✔ Check for app config fields that may not be synced in a non-CNG project
✔ Check for issues with Metro config
✔ Check npm/ yarn versions
✔ Validate packages against React Native Directory package metadata
✔ 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
Error output
No response
Reproducible demo or steps to reproduce from a blank project
npx create-expo-app@latest test
cd test
echo '*' >> .easignore
eas build:inspect --platform android --stage archive --output ./target
ls target/.git
Output:
The text was updated successfully, but these errors were encountered: