Runs your fastlane lane on bitrise.io.
Description
fastlane is an open-source app automation tool for iOS, Android and for most cross-platform frameworks, for example, React Native, Xamarin and Flutter.
fastlane Step helps you integrate your lane to your Bitrise Workflow and runs your lane based on the fastlane actions with minimal configuration.
If your Apple Developer Portal account is connected to Bitrise, the FASTLANE_SESSION Environment Variable will pass on the session data to fastlane.
Before you start configuring the Step, make sure you've connected to Apple services either by API key, Apple ID or through Fastlane Step's input fields.
- Add the fastlane Step to your Workflow after the Git Clone Repository Step or any other dependency Step.
- Based on your project's fastlane setup, you can add your project's default lane or a custom lane in the fastlane lane input.
- If your fastlane directory is not available in your repository's root, then you can add the parent directory of fastlane directory in the Working directory input.
- If your project doesn't contain a fastlane gem in your project's Gemfile, you can use the Should update fastlane gem before run input.
Set this input to
trueso that the Step can install the latest fastlane version to your project. If a gem lockfile (Gemfile.lock or gems.locked) includes the fastlane gem in the working directory, that specific fastlane version will be installed. - Select
yesin the Enable verbose logging input if you wish to run your build in debug mode and print out error additional debug logs. - Select
yesin the Enable collecting files to be included in the build cache to cache pods, Carthage and Android dependencies.
If you run your lane on Bitrise and your build fails on the fastlane Step, the logs won't reveal too much about the error since it's most likely related to the fastlane file's configuration. We recommend you swap your fastlane actions for Bitrise Steps which will bring out the problem.
Add this step directly to your workflow in the Bitrise Workflow Editor.
You can also run this step directly with Bitrise CLI.
Inputs
| Key | Description | Flags | Default |
|---|---|---|---|
lane |
fastlane lane to run $ fastlane [lane] | required | |
work_dir |
Use this option if the fastlane directory is not in your repository's root. Working directory should be the parent directory of your Fastfile's directory. For example: * If the Fastfile path is ./here/is/my/fastlane/Fastfile * Then the Fastfile's directory is ./here/is/my/fastlane * So the Working Directory should be ./here/is/my |
$BITRISE_SOURCE_DIR |
|
connection |
The input determines the method used for Apple Service authentication. By default, any enabled Bitrise Apple Developer connection is used and other authentication-related Step inputs are ignored. There are two types of Apple Developer connection you can enable on Bitrise: one is based on an API key of the App Store Connect API, the other is the session-based authentication with an Apple ID. You can choose which type of Bitrise Apple Developer connection to use or you can tell the Step to only use the Step inputs for authentication: - automatic: Use any enabled Apple Developer connection, either based on Apple ID authentication or API key authentication. Step inputs are only used as a fallback. API key authentication has priority over Apple ID authentication in both cases. - api_key: Use the Apple Developer connection based on API key authentication. Authentication-related Step inputs are ignored. - apple_id: Use the Apple Developer connection based on Apple ID authentication and the Application-specific password Step input. Other authentication-related Step inputs are ignored. - off: Do not use any already configured Apple Developer Connection. Only authentication-related Step inputs are considered. |
required | automatic |
api_key_path |
Specify the path in an URL format where your API key is stored. For example: https://URL/TO/AuthKey_[KEY_ID].p8 or file:///PATH/TO/AuthKey_[KEY_ID].p8. NOTE: The Step will only recognize the API key if the filename includes the KEY_ID value as shown on the examples above. You can upload your key on the Generic File Storage tab in the Workflow Editor and set the Environment Variable for the file here. For example: $BITRISEIO_MYKEY_URL |
||
api_issuer |
Issuer ID. Required if API Key: URL (api_key_path) is specified. |
||
apple_id |
Email for Apple ID login. | sensitive | |
password |
Password for the specified Apple ID. | sensitive | |
app_password |
Use this input if TFA is enabled on the Apple ID but no app-specific password has been added to the used Bitrise Apple ID connection. NOTE: Application-specific passwords can be created on the AppleID Website. It can be used to bypass two-factor authentication. | sensitive | |
update_fastlane |
Should update fastlane gem before run? This option will be skipped if you have a Gemfile in the work_dir directory. |
true |
|
verbose_log |
Enable/disable verbose logging. | required | no |
enable_cache |
If enabled the step will add the following cache items (if they exist): - Pods -> Podfile.lock - Carthage -> Cartfile.resolved - Android dependencies | required | yes |
Outputs
There are no outputs defined in this stepWe welcome pull requests and issues against this repository.
For pull requests, work on your changes in a forked repository and use the Bitrise CLI to run step tests locally.
Learn more about developing steps: