fastlane

🚀 The easiest way to automate building and releasing your iOS and Android apps

MIT License

Downloads
138.6M
Stars
38.7K
Committers
1.5K

Bot releases are hidden (Show)

fastlane - 1.8.0 Switch Lanes & Pass Parameters

Published by KrauseFx over 9 years ago

This is one of the biggest updates of fastlane yet: You can now execute lanes from within lanes and even pass parameters.

This allows you to move common build steps into a shared lane. Additionally it's now also possible to pass parameters from the command line to your lane.

Passing Parameters

To pass parameters from the command line to your lane, use the following syntax:

fastlane [lane] key:value key2:value2

fastlane deploy submit:false build_number:24

To access those values, change your lane decleration to also include |options|

lane :deploy do |options|
  ...
  if options[:submit]
    # Only when submit is true
  end
  ...
  increment_build_number(build_number: options[:build_nymber])
  ...
end

Switching lanes

To switch lanes while executing a lane, use the following code:

lane :deploy do |options|
  ...
  build(release: true) # that's the important bit
  hockey
  ...
end

lane :staging do |options|
  ...
  build # it also works when you don't pass parameters
  hockey
  ...
end

lane :build do |options|
  scheme = (options[:release] ? "Release" : "Staging")
  ipa(scheme: scheme)
end

fastlane takes care of all the magic for you. You can call lanes of the same platform or a general lane outside of the platform definition.

Passing parameters is optional.

Returning values

Additionally, you can retrieve the return value. In Ruby, the last line of the lane definition is the return value. Here is an example:

lane :deploy do |options|
  value = calculate(value: 3)
  puts value # => 5
end

lane :calculate do |options|
  ...
  2 + options[:value] # the last line will always be the return value
end

More changes

  • Upload of the dsym file by default when using the hockey integration
  • Improved importing of certificates (thanks @milch)
  • Updated documentation
fastlane - 1.7.3 Keychain improvements

Published by KrauseFx over 9 years ago

  • Added automatic switching back to previously active keychain (thanks @milch)
  • Added storing of previously active keychain in the lane environment (thanks @milch)
  • Updated fastlane_core dependency
fastlane - 1.7.2 Accessing lane context easier

Published by KrauseFx over 9 years ago

From

Actions.lane_context[Actions::SharedValues::LANE_NAME]

to

lane_context[SharedValues::LANE_NAME]

Makes things so much cleaner ✅ More details about the available context variables here.

Also new, check out the Code Signing Guide 🔑

fastlane - 1.7.1 Improvements

Published by KrauseFx over 9 years ago

  • Added new destination option for xcodebuild (thanks Adam Cohen-Rose)
  • Improved update_fastlane action (thanks @milch)
  • Improved hipchat integration (thanks Christoph Dieckmann)
  • Updated to the brand new spaceship powered cert
fastlane - 1.7.0 New Actions

Published by KrauseFx over 9 years ago

  • New: import_certificate: Import certificates into the current default keychain (thanks @gin0606)
  • New: lcov: Generate code coverage reports based on lcov (thanks Thiago Lioy)
  • New: appstore: Action to upload new builds and metadata to the App Store, alias for deliver
  • New: update_app_group_identifiers: Updates the App Group Identifiers in the given Entitlements file, so you can have app groups for the app store build and app groups for an enterprise build (thanks Mathias Aichinger)
  • New: create_keychain: Create a new keychain, which can then be used to import certificates (thanks @gin0606)
  • New: delete_keychain: Delete an existing keychain (thanks @gin0606)
  • New notify_room option for hipchat (thanks Christoph Dieckmann)
  • New silent option for the ipa action (thanks @gfpacheco)
  • Updated sigh, shenzhen, produce dependencies
fastlane - 1.6.0 New Actions, Template Support

Published by KrauseFx over 9 years ago

  • Added brand new HTML template system for the email and the s3 action (thanks Thiago Lioy)
  • Added new backup_file and restore_file actions (thanks @gin0606)
  • Added new destination_timeout option to xctest (thanks @samsonjs)
  • Added support for custom hosts in hipchat integration (thanks Christoph Dieckmann)
  • Removed Hall integration, as their service shut down
  • Updated project landing page
  • Updated sigh dependency
fastlane - 1.5.0 Full Mercurial Support

Published by KrauseFx over 9 years ago

  • Added full Mercurial support to fastlane (thanks @sjrmanning)
    • hg_push
    • hg_commit_version_bump
    • hg_add_tag
    • hg_ensure_clean_status
  • Added new testflight action to upload builds straight to TestFlight 🚀
  • Multi-Author Support :person_with_blond_hair:
    • One action can finally store multiple owners. Try it: fastlane action cocoapods
  • Added new options to the s3 action (thanks @rossbeale)
  • Improved TestMunk action (thanks Johannes Berdin)
  • Added new hockey option to specify users
  • Updated sigh, deliver and produce
fastlane - 1.4.0 New Integrations

Published by KrauseFx over 9 years ago

New Features

  • New ensure_git_branch action to make sure you're on a specific git branch (thanks @dbachrach)
  • New update_info_plist action to update the Info.plist before building your app (thanks @tobiasstrebitzer)
  • Added commit_sha, repository_url and build_server_url options to hockey action (thanks @tadpol)
  • Added 6 new options to the cocoapods integration (thanks @tadpol)

New Commands

  • fastlane lanes: Lists all available lanes with description
  • fastlane list: Lists all available lanes without description
  • fastlane docs: Generates a markdown based documentation of all your lanes

Updated

  • Upgraded sigh to use the new spaceship.airforce 🚀
  • Preparations for new tools to come 👍

Improvements

  • Improved nested Appfile (thanks @fabiomassimo)
  • Added debug information to commit_version_bump action (thanks @lmirosevic)
  • Improved ipa integration (thanks @jeanregisser)
  • Improved error handling in update_project_provisioning action
fastlane - 1.3.2 Updated actions for new core

Published by KrauseFx over 9 years ago

Preparations for the new fastlane_core

fastlane - 1.3.1 Fixed S3 Integration

Published by KrauseFx over 9 years ago

  • Fixed an issue with the shenzhen dependency
  • Correctly passing of version number to deliver action
  • Other little improvements
fastlane - 1.3.0 Code Signing done right

Published by KrauseFx over 9 years ago

  • Added new action to update the Xcode project code signing options based on your provisioning profile with support for App Extensions 🚀 (thanks @tobiasstrebitzer)
  • Improved output and error information when the ipa action goes wrong
  • Added support for custom snapshot path (thanks @hedjirog)
  • Improved handling of fastlane init when the fastlane folder was already created
  • fastlane setup process now asks for the app's scheme
  • Improved generated Fastfile
  • Improved action template
  • Fixed problems with custom paths for reset_git action
  • Added new option to increment_version_number action (thanks @tobiasstrebitzer)
  • Fixed problems when user doesn't have the bash set to UTF-8
  • Cleaned up unsupported ipa option (thanks @domhof)
  • Updated fastlane dependencies
fastlane - 1.2.3 Appfile Multi-Platform Support

Published by KrauseFx over 9 years ago

Thanks to @fabiomassimo you can now define your Appfile for multiple platforms:

app_identifier "net.sunapps.1"
apple_id "[email protected]"
team_id "Q2CBPJ58CC"

for_platform :ios do
  apple_id "[email protected]"
  team_id 'Q2CBPJ58AA' # for all iOS related things
  for_lane :enterprise do
    app_identifier 'net.sunapps.ios.enterprise'
  end
end
fastlane - 1.2.2 New AWS S3 options

Published by KrauseFx over 9 years ago

  • When distributing a build to AWS S3, the current build number is now stored on S3 as well, which you can use to check for updates in your app (thanks @dbachrach)
  • Fixed an error in the Fastfile template (thanks @avanderberg)
  • Improved the documentation
fastlane - 1.2.1 Improvements

Published by KrauseFx over 9 years ago

fastlane - 1.2.0 Added ChatWork Integration

Published by KrauseFx over 9 years ago

  • Added integration for ChatWork (thanks @astronaughts)
  • Added support for Mac OS for many built-in actions
  • Improved parameter verification for new frameit integration
  • Improved HipChat integration (thanks @eytanbiala)
fastlane - 1.1.0 New Integrations, More Improvements

Published by KrauseFx over 9 years ago

  • Added new Mailgun action to send emails right from fastlane (thanks @thiagolioy)
  • Added new OCLint action for static analysis (thanks @HeEAaD)
  • Added integration for frameit 2.0
  • Build output is now much cleaner
  • Added new metadata_only mode for the new deliver version
  • Added new exclude_pattern option to clean_build_artifacts action
  • Added more options to s3 action (thanks @frobichaud)
  • commit_version_bump will never commit any other files
  • Updated the fastlane action template to match the new requirements
  • Made git_author and last_git_commit available to all fastlane actions
  • Improved hockey integration
  • snapshot action now doesn't open the HTML page by default
  • Updated dependencies
fastlane - 1.0.2 Hotfix: shenzhen WatchKit Issue

Published by KrauseFx over 9 years ago

This release switches to krausefx-shenzhen to resolve the WatchKit binary issues

fastlane - 1.0.1 Fixed ipa action

Published by KrauseFx over 9 years ago

  • Due to an issue with the latest release of shenzhen the ipa action generated invalid ipa files your app doesn't have WatchKit support
  • Added mac support to hockey integration
  • Added public_identifier option to hockey integration
  • Improved fastlane docs rendering
fastlane - 1.0.0 fastlane

Published by KrauseFx over 9 years ago

I'm excited to announce that fastlane is now version 1.0, following the Semantic Versioning 🎉

Multi Platform Support 🚀

The main reason for the success of fastlane was the great support for one specific platform. I was working hard on refactoring fastlane to handle both iOS and Mac projects with more platforms to come. This doesn't change anything for your existing projects. You can already start using fastlane for Mac OS projects.
Check out the release notes for more information.

Auto Update ☁️

Tired of manually updating fastlane each time a new release is available? Just add update_fastlane to your Fastfile and it will automatically update itself.

Documentation 📖

You can now view the latest documentation of available actions and their parameters right in your terminal, using the fastlane action command.

Additionally, you can use the new fastlane docs command to generate a documentation of all your available fastlane lanes with a short description.

New Configuration System 🔧

All 45 built-in fastlane integrations were completely refactored to use a brand new configuration system. This way fastlane knows about the available parameters, which is used to generate the documentation. Additionally, this update makes testing much easier. More information available on in release 0.12.0.

Few more things

  • Added teams, mandatory and tags options to the hockey integration
  • Improved documentation renderer
  • Improved handling of unstable networking connections
  • Fixed handling of some characters in the add_git_tag integration
  • Updated dependencies to all other fastlane tools
  • New version of sigh which can maintain your local provisioning profiles as well

I hope you like this release, as always you can send me feedback on Twitter @KrauseFx or via GitHub issues 😃

fastlane - 0.13.0 New Integration

Published by KrauseFx over 9 years ago

  • Added new hall integration (thanks @eytanbiala)
  • Fixed bug in commit_version_bump (thanks @lmirosevic)
  • Added notes_type option to Hockey action (thanks @orta)
  • Added release_type option to Hockey action (thanks @keatongreve)
  • Updated Fastfile template (thanks @dataich)
  • Fixed threading problem of network request
  • Fixed for_lane integration with new platform support
  • Fixed installation issues
  • Fixed fastlane --help command