Urgent.News

What's breaking now, across thousands of outlets.

Tech

Reduce Expo Monorepo CI Build Time

Expo monorepo CI gets slow and flaky for the same reason: we treat all caches as one thing. Then builds run from the repo root, one app reuses another app’s Metro state, or native cache is blamed for a problem in dependency install. The result is a pipeline that looks fast until it starts failing in ways you cannot trust. The fix is to give each layer a clear boundary. Run EAS commands from the…

Expo's monorepo CI builds were suffering from slowness and unreliability. The issue stemmed from treating all caches as a single entity. When builds commenced from the repository's root, issues arose as one app's Metro state or native cache would impact another app's dependency installation. Consequently, a pipeline that appeared swift soon began generating untrustworthy failures.

The solution lies in establishing clear boundaries for each layer. EAS commands should be executed from the app directory, not the monorepo's root, ensuring the build employs the correct app configuration and scope. Restoring the pnpm store prior to pnpm install is crucial, as this cache pertains to dependency content, not app behavior.

Each app should possess a distinct Metro cache, specified by an explicit cacheVersion, preventing shared transform cache from leaking across apps in the monorepo. Furthermore, EAS cache should be treated as an independent native layer, allowing the restoration and saving of controls selectively, without affecting pnpm or Metro. The key to this approach is understanding that every cache requires both a boundary and an owner.

By knowing what defines a cache and who is authorized to write it, pinpointing build failures becomes more straightforward, and cache speedups remain secure. However, this method does necessitate more explicit setup. Keys must be versioned deliberately, and cache state cannot be loosely shared across apps or untrusted CI jobs. For a comprehensive understanding, refer to the complete article available on make-it.run.

Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.

Read the original at dev.to →

More in Tech

Finding the Exposed Controllers: Using ZoomEye to Locate Internet-Reachable EtherNet/IP Assets

Finding the Exposed Controllers: Using ZoomEye to Locate Internet-Reachable EtherNet/IP Assets On 30 July 2026, the U.S. Cybersecurity and Infrastructure Security Agency (CISA) published an alert…

  • CISA warns rise in cyber threats targeting PLCs in Water and Wastewater Systems sector
  • ZoomEye locates 41,601 internet-reachable EtherNet/IP assets globally
  • Targeted query reveals 19,977 EtherNet/IP assets within the United States

If the Patch Authored the Test, Score the Overlap

Same-session tests are not evidence. If an agent writes a production hunk and the assertions in one pass, a green build often means the two files agreed on a private story, not that the public contract holds. Score the overlap first. Then rewrite the oracle in a session that never sees the patch.

  • Tests do not guarantee successful implementation
  • Overlap between production and test code is crucial
  • Merge gate checks token overlap and literal mutation

More from Thursday 17 September →