# Customize this file, documentation can be found here: # https://docs.fastlane.tools/actions/ # All available actions: https://docs.fastlane.tools/actions # can also be listed using the `fastlane actions` command # Change the syntax highlighting to Ruby # All lines starting with a # are ignored when running `fastlane` # If you want to automatically update fastlane if a new version is available: # update_fastlane # This is the minimum version number required. # Update this, if you use features of a newer version fastlane_version "2.63.0" default_platform :ios platform :ios do before_all do setup_circle_ci create_keychain( name: ENV["MATCH_KEYCHAIN_NAME"], password: ENV["MATCH_KEYCHAIN_PASSWORD"], timeout: 1200 ) end desc "Runs all the tests" lane :test do scan end desc "Submit a new Beta Build to Apple TestFlight" lane :beta do api_key = app_store_connect_api_key( key_id: "F296L2294Y", issuer_id: "69a6de8e-75cf-47e3-e053-5b8c7c11a4d1", key_filepath: 'fastlane/app_store_connect_api_key.p8', in_house: false ) pilot( ipa: 'ios/RocketChatRN.ipa', skip_waiting_for_build_processing: true ) end desc "Build App for release" lane :release do api_key = app_store_connect_api_key( key_id: "F296L2294Y", issuer_id: "69a6de8e-75cf-47e3-e053-5b8c7c11a4d1", key_filepath: 'fastlane/app_store_connect_api_key.p8', in_house: false ) match(type: "appstore") get_provisioning_profile(app_identifier: "chat.rocket.reactnative.ShareExtension") get_provisioning_profile(app_identifier: "chat.rocket.reactnative.NotificationService") # pem(api_key: api_key) # still uses Spaceship http://docs.fastlane.tools/actions/pem/#how-does-it-work gym(scheme: "RocketChatRN", workspace: "RocketChatRN.xcworkspace") end desc "Build App for development" lane :build do |options| xcodebuild( workspace: "RocketChatRN.xcworkspace", scheme: "RocketChatRN", configuration: "Debug", clean: options[:clean], build: true, destination: "generic/platform=iOS", build_settings: { "CODE_SIGNING_REQUIRED" => "NO", "CODE_SIGN_IDENTITY" => "" } ) end after_all do |lane| delete_keychain(name: ENV["MATCH_KEYCHAIN_NAME"]) end error do |lane, exception| delete_keychain(name: ENV["MATCH_KEYCHAIN_NAME"]) end end