Skip to content

ci: remove legacy AppEntry.js shim and add native package caches (SDK-749) - #187

Merged
brax10ward merged 1 commit into
masterfrom
braxton/sdk-749-ci-remove-legacy-expoappentryjs-shim-breaking-androidios
Aug 25, 2026
Merged

ci: remove legacy AppEntry.js shim and add native package caches (SDK-749)#187
brax10ward merged 1 commit into
masterfrom
braxton/sdk-749-ci-remove-legacy-expoappentryjs-shim-breaking-androidios

Conversation

@brax10ward

@brax10ward brax10ward commented Aug 25, 2026

Copy link
Copy Markdown
Contributor

Linear Link

https://linear.app/atomicbuilt/issue/SDK-749/ci-remove-legacy-expoappentryjs-shim-breaking-androidios-builds-on

Type of change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Refactor (non-breaking change which cleans up code)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • This change requires a documentation update
  • This change impacts security

Checklist:

  • New and existing tests pass locally with my changes
  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • I have tested on a physical iOS device and Android device
  • I have added tests that prove my fix is effective or that my feature works
  • I have followed the Code Review and Code Review Security guidelines
  • I have checked my code against flaws from the OWASP Top 10
    • A01:2021-Broken Access Control
    • A02:2021-Cryptographic Failures
    • A03:2021-Injection
    • A04:2021-Insecure Design
    • A05:2021-Security Misconfiguration
    • A06:2021-Vulnerable and Outdated Components
    • A07:2021-Identification and Authentication Failures
    • A08:2021-Software and Data Integrity Failures
    • A09:2021-Security Logging and Monitoring Failures
    • A10:2021-Server-Side Request Forgery

Notes

The 📋 Fix package.json main entry step rewrote example/package.json's main to node_modules/expo/AppEntry.js, which @expo/config in Expo SDK 57 no longer resolves. The child resolveAppEntry process threw ENTRY_NOT_FOUND, its stdout was empty, and Gradle failed at example/android/app/build.gradle:12 with Cannot convert '' to File. Every build on master since #183 has hit this (failing run).

Also removed the no-op 🔄 Verify EAS CLI installation step and added:

  • ~/.gradle/caches + ~/.gradle/wrapper on build-android (skips RN / Kotlin / AGP / Expo maven downloads on repeat runs)
  • ~/Library/Caches/CocoaPods + ~/.cocoapods/repos on build-ios (skips CocoaPods CDN spec-repo refresh)

Expected wall-clock (warm cache): Android ~18m → ~10m, iOS ~10m → ~8m. First run after merge is a cache miss.

…-749)

The `Fix package.json main entry` step overrode `main` to
`node_modules/expo/AppEntry.js`, which `@expo/config` in Expo SDK 57
no longer resolves. Gradle's `entryFile = file(... resolveAppEntry ...)`
then got an empty string and blew up with `Cannot convert '' to File.`

Drop the shim (checked-in `main: "index.ts"` is the SDK 49+ default and
works with EAS local build) and the now-redundant `Verify EAS CLI
installation` step. Add `~/.gradle/caches` + `~/.gradle/wrapper` for
Android and `~/Library/Caches/CocoaPods` + `~/.cocoapods/repos` for iOS
so repeat runs skip the RN/Kotlin/AGP/Expo maven downloads and the
CocoaPods CDN refresh.
@brax10ward
brax10ward requested a review from a team as a code owner August 25, 2026 22:12
@brax10ward
brax10ward merged commit a479d5e into master Aug 25, 2026
5 checks passed
@brax10ward
brax10ward deleted the braxton/sdk-749-ci-remove-legacy-expoappentryjs-shim-breaking-androidios branch August 25, 2026 22:36
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.

2 participants