Skip to content

fix: repack re-bundled simulator .app on non-PR events#29

Open
olerass wants to merge 1 commit into
callstackincubator:mainfrom
rainbow-me:fix/repack-app-on-push
Open

fix: repack re-bundled simulator .app on non-PR events#29
olerass wants to merge 1 commit into
callstackincubator:mainfrom
rainbow-me:fix/repack-app-on-push

Conversation

@olerass

@olerass olerass commented Jun 10, 2026

Copy link
Copy Markdown

#15 added support for re-sign on regular commits, and #22 added the missing repack step for simulator builds, but scoped it to pull_request events only.

On push events with a remote-cache hit, however, the flow is currently:

  1. The cached app.tar.gz is downloaded and extracted
  2. rock sign:ios --build-jsbundle --app rebuilds a fresh JS bundle into the extracted .app
  3. The repack step is skipped (PR-only condition), so ARTIFACT_PATH still points to the stale downloaded tar.gz
  4. That stale archive is uploaded under the new commit-sha artifact name

So push-event consumers (e.g. E2E suites running against the artifact on the main branch) test an outdated JS bundle, which is the issue we're seeing at Rainbow in our current CI setup.

To fix it, this change aligns the repack condition with the preceding "Re-bundle APP" step, so the re-bundled .app is always repacked before upload regardless of trigger. We've been running this patch from a fork in rainbow-me/rainbow and confirmed push-event runs now repack and test the fresh bundle (example run).

callstackincubator#15 added support for re-sign on regular commits, and callstackincubator#22 added the missing repack step for simulator builds, but scoped it to pull_request events only.

On __push__ events with a remote-cache hit, however, the flow is currently:
1. The cached app.tar.gz is downloaded and extracted
2. rock sign:ios --build-jsbundle --app rebuilds a fresh JS bundle into the extracted .app
3. The repack step is skipped (PR-only condition), so ARTIFACT_PATH still points to the stale downloaded tar.gz
4. That stale archive is uploaded under the new commit-sha artifact name

So push-event consumers (e.g. E2E suites running against the artifact on the main branch) test an outdated JS bundle, which is the issue we're seeing at Rainbow in our current CI setup.

To fix it, this change aligns the repack condition with the preceding Re-bundle APP step, so the re-bundled .app is always repacked before upload.
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.

1 participant