Skip to content

Keep store media out of the project archive - #4124

Open
Nezz wants to merge 1 commit into
expo:mainfrom
Nezz:07-31-_eas-cli_exclude_store_media_from_the_project_archive
Open

Keep store media out of the project archive#4124
Nezz wants to merge 1 commit into
expo:mainfrom
Nezz:07-31-_eas-cli_exclude_store_media_from_the_project_archive

Conversation

@Nezz

@Nezz Nezz commented Jul 31, 2026

Copy link
Copy Markdown

Why

Fixes #3714 and saves the Expo team money on data transfer and storage costs

How

Store media that eas metadata:pull downloads into store/apple is now ignored when archiving the project for an EAS build, the same way node_modules is. Only eas metadata:push reads it and that runs from the CLI, so there is no reason to upload it for a build. The directories moved into src/metadata/media.ts, since the metadata tasks and the archiving code have to agree on them.

Note that committed media still travels inside the shallow clone's .git, and requireCommit: true projects get a checkout rather than a copy, so they are unaffected.

Test Plan

3 new tests, each failing on main: media excluded whether it is untracked or committed, with store.config.json kept, plus the .easignore case. yarn test, yarn typecheck, yarn lint and yarn fmt:check are clean.

Reproduces with eas build:inspect -p ios -s archive -o /tmp/inspect on a blank project with a 50 MB screenshot in store/apple/screenshot/en-US/APP_IPHONE_67:

before  50M  /tmp/inspect
after   136K /tmp/inspect

`eas metadata:pull` downloads screenshots, previews and App Clip header
images into store/apple, which can be hundreds of megabytes. Only
`eas metadata:push` reads them and it runs from the CLI, so uploading
them for a build makes the archive bigger for no benefit.

Ignore the directories when copying the project, the same way
node_modules is ignored. The directories are now defined in one place,
since both the metadata tasks and the archiving code need to agree on
them.
@github-actions

Copy link
Copy Markdown

Subscribed to pull request

File Patterns Mentions
packages/eas-cli/** @douglowder
packages/eas-cli/src/metadata/** @byCedric

Generated by CodeMention

Warning: The preamble and epilogue options in commentConfiguration are deprecated. Use template instead.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Store screenshots included in EAS build uploads

1 participant