feat(react-native-dogfood)!: move the v2 dogfood app to the 5.x line - #2416
Conversation
Both release branches version this app from the same tag namespace, and `release-v1` cannot see tags `main` created after the cut, so the two converge on the same version and the release fails on the tag push. It is already blocking: `main` holds 4.45.1 and 4.45.2, and `release-v1` computes 4.45.1 next. Splitting the majors fixes it the same way it was fixed for the satellite packages. `main` takes 5.x.y, `release-v1` keeps 4.x.y. The version stays stable rather than joining main's `beta` prerelease line. It feeds the iOS marketing version and the Android versionName, and CFBundleShortVersionString must be at most three integers, so a `5.0.0-beta.0` would be rejected. `bump_ios_version_number` runs on PR builds, so an invalid string would break CI, not just store releases. BREAKING CHANGE: the v2 dogfood app is versioned 5.x.y. No `releaseAs` is needed because the preset leaves `preMajor` false, so this footer alone produces the major bump, and nothing single-use is left in the config to remove afterwards.
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Team Run ID: 📒 Files selected for processing (1)
Included review availability: Your plan provides up to 2 included reviews per hour; 1 remains after this review. 📝 WalkthroughWalkthroughThe React Native dogfood README adds spacing after a setup heading and documents the version lines used by the ChangesReact Native README updates
Estimated code review effort: 1 (Trivial) | ~2 minutes Merge Risk: ⚪ Minimal · up to This updates React Native dogfood version-line guidance and formatting without changing runtime or release behavior. No merge-blocking risk remains. 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Bundle sizeBuilt package output. Sizes in KB; delta vs No significant package size increase vs |
💡 Overview
Moves the v2 dogfood app to the
5.x.yline so it stops colliding withrelease-v1, which keeps4.x.y.This is currently blocking all v1 releases. Both branches version this app from the same tag namespace, and
release-v1cannot see tagsmaincreated after the cut, so the two converge on the same version and the release fails on the tag push.mainholds4.45.1and4.45.2;release-v1computes4.45.1next. Since the version executor pushes withgit push --atomic, the whole push aborts and no v1 release can complete.Same disjoint-major fix already applied to the satellite packages in #2414.
📝 Implementation notes
The version stays stable, deliberately, rather than joining main's
betaprerelease line. It feeds the iOS marketing version and the AndroidversionName, andCFBundleShortVersionStringmust be at most three integers, so5.0.0-beta.0would be rejected outright.bump_ios_version_numberruns on PR builds viais_ci, not only on store releases, so an invalid version string would break CI rather than just a release.No
releaseAsis needed. The dogfood preset leavespreMajorunset, which defaults to false, so theBREAKING CHANGEfooter alone produces the major bump. That avoids the single-usepremajortwo-step this repo needed for the core packages and the satellites, and leaves nothing in the config to remember to remove afterwards.Dry run on this branch confirms only the dogfood app moves:
The diff is a README note recording the version-line split, which is also what carries the breaking commit for the version executor to pick up. The app is private and never published to npm, so the tag is the only artifact.
Follow-up, on release-v1
A seed tag is still needed there to clear main's existing
4.45.1/4.45.2markers, the same technique used forvideo-filters-webandcallingx. Tracked in the ticket.🎫 Ticket: https://linear.app/stream/issue/REACT-1166/v1v2-branch-split-release-v1-maintenance-branch-v2-on-main
📑 Docs: n/a (internal sample app)
Summary by CodeRabbit
mainandrelease-v1branches.