Remove update_fastlane from before_all#912
Merged
Merged
Conversation
When using Bundler, update_fastlane can install a newer fastlane release out-of-band and then "clean up old versions", deleting the gem version that Gemfile.lock pins. The next bundle exec invocation then fails with "Could not find fastlane-X.Y.Z in locally installed gems". This happened on CI today right after fastlane 2.233.1 was released. Bundler is the source of truth for the fastlane version, so the update_fastlane action is unnecessary and unsafe here. Aligns with how the other native SDK repos already handle this (e.g. it is already commented out in purchases-android and the integration tests Fastfile in this repo). Made-with: Cursor
tonidero
approved these changes
Apr 29, 2026
RCGitBot
added a commit
that referenced
this pull request
May 7, 2026
**This is an automatic release.** ## RevenueCat SDK ### 📦 Dependency Updates * [AUTOMATIC BUMP] Updates purchases-hybrid-common to 18.4.0 (#921) via RevenueCat Git Bot (@RCGitBot) * [Android 10.3.1](https://github.com/RevenueCat/purchases-android/releases/tag/10.3.1) * [Android 10.3.0](https://github.com/RevenueCat/purchases-android/releases/tag/10.3.0) * [Android 10.2.1](https://github.com/RevenueCat/purchases-android/releases/tag/10.2.1) * [iOS 5.70.0](https://github.com/RevenueCat/purchases-ios/releases/tag/5.70.0) * [iOS 5.69.0](https://github.com/RevenueCat/purchases-ios/releases/tag/5.69.0) * [AUTOMATIC BUMP] Updates purchases-hybrid-common to 18.3.0 (#918) via RevenueCat Git Bot (@RCGitBot) * [AUTOMATIC BUMP] Updates purchases-hybrid-common to 18.2.0 (#914) via RevenueCat Git Bot (@RCGitBot) ### 🔄 Other Changes * Bump fastlane-plugin-revenuecat_internal from `21e02ec` to `af7bb5c` (#920) via dependabot[bot] (@dependabot[bot]) * Bump fastlane-plugin-revenuecat_internal from `2d11430` to `21e02ec` (#919) via dependabot[bot] (@dependabot[bot]) * Bump fastlane-plugin-revenuecat_internal from `d24ab26` to `2d11430` (#915) via dependabot[bot] (@dependabot[bot]) * Bump fastlane from 2.233.0 to 2.233.1 (#913) via dependabot[bot] (@dependabot[bot]) * Remove update_fastlane from before_all (#912) via Antonio Pallares (@ajpallares) * Bump fastlane-plugin-revenuecat_internal from `b822f01` to `d24ab26` (#911) via dependabot[bot] (@dependabot[bot]) * Bump fastlane-plugin-revenuecat_internal from `e348913` to `b822f01` (#910) via dependabot[bot] (@dependabot[bot])
ajpallares
added a commit
to RevenueCat/cordova-plugin-purchases
that referenced
this pull request
May 11, 2026
Removes the top-level Fastfile's `update_fastlane` call from `before_all`, matching RevenueCat/purchases-unity#912. When CI runs fastlane through Bundler, `update_fastlane` can install a newer fastlane version out-of-band and clean up the version pinned by `Gemfile.lock`. After fastlane restarts itself, `bundle exec` can then fail with `Could not find fastlane-X.Y.Z in locally installed gems`. Bundler/dependency PRs should remain the source of truth for fastlane updates. Related: RevenueCat/purchases-unity#912 Validation: `ruby -c fastlane/Fastfile` Co-authored-by: Cursor <cursoragent@cursor.com>
1 task
ajpallares
added a commit
to RevenueCat/purchases-flutter
that referenced
this pull request
May 13, 2026
### Description Removes the top-level Fastfile `update_fastlane` call from `before_all`, matching RevenueCat/purchases-unity#912 and RevenueCat/cordova-plugin-purchases#956. When CI runs fastlane through Bundler, `update_fastlane` can install a newer fastlane version out-of-band and clean up the version pinned by `Gemfile.lock`, causing `bundle exec` to fail after fastlane restarts. ### Testing - [x] `ruby -c fastlane/Fastfile` Made with [Cursor](https://cursor.com) <!-- CURSOR_SUMMARY --> --- > [!NOTE] > **Low Risk** > Low risk: only changes CI/release tooling by stopping Fastlane self-updates during `before_all`, reducing chance of Bundler/lockfile version mismatches. > > **Overview** > Stops calling `update_fastlane` from the `before_all` block in `fastlane/Fastfile`, so CI runs use the Bundler-pinned Fastlane version instead of potentially self-upgrading and restarting. > > <sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit d5fc479. Bugbot is set up for automated code reviews on this repo. Configure [here](https://www.cursor.com/dashboard/bugbot).</sup> <!-- /CURSOR_SUMMARY --> Co-authored-by: Cursor <cursoragent@cursor.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
This was only caught by the two new (still-WIP)
run-maestro-e2e-tests-ios/run-maestro-e2e-tests-androidjobs being added in #838, which are the only jobs invoking lanes from the top-levelfastlane/Fastfile(the existingarchive-iosjob usesIntegrationTests/fastlane/Fastfile, which already hasupdate_fastlanecommented out). They started failing today with:(see failing job) after fastlane 2.233.1 was released. The
update_fastlaneaction inbefore_allcallsgem update fastlaneand thengem cleanup(source), which deletes the previous fastlane version. When fastlane restarts itself,bundle execthen fails to find the version pinned inGemfile.lock.update_fastlaneis redundant when using Bundler (we already update fastlane through dependency PRs), so removing it frombefore_all.