Enforce use of bundle exec in Fastfile+Podfile #15085
Merged
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 adds checks in the
Fastfile
andPodfile
so that it stops you from accidentally runfastlane
orpod
without prefixing them withbundle exec
.If you forget to prepend
bundle exec
when invokingfastlane
orpod
, this will now error and stop, telling you to usebundle exec
– so you run the versions of those tools specified in the repo'sGemfile.lock
– instead of continuing to run with the system-wide version – which might not be the same and behave differently than when ran under bundle exec.To test:
1️⃣ Run
pod install
and see it fail.Expected pod failure when running without bundle exec
(Note: Sadly there is no way to avoid the stacktrace from showing, which might make you think there is a syntax error in the Podfile while the syntax is correct and it just shows where the exception was raised)
2️⃣ Run
bundle exec pod install
(orbe pod install
if you created an alias forbundle exec
in your.zshrc
, which I recommend) and check that it runs as expected3️⃣ Run
(cd Scripts; fastlane lanes)
, and check it fails with the following outputExpected fastlane failure when running without bundle exec
4️⃣ Run
(cd Scripts; bundle exec fastlane lanes)
and check that it runs without issues and lists the available lanes