class Fastlane::Actions::BluepillAction

Public Class Methods

authors() click to toggle source
# File lib/fastlane/plugin/bluepill/actions/bluepill_action.rb, line 25
def self.authors
  ["tbrand"]
end
available_options() click to toggle source
# File lib/fastlane/plugin/bluepill/actions/bluepill_action.rb, line 36
def self.available_options
  [
    FastlaneCore::ConfigItem.new(key: :xctestrun,
                                 env_name: "BLUEPILL_XCTESTRUN",
                                 description: "The path to the .xctestrun file that xcode leaves",
                                 optional: false,
                                 is_string: true),
    FastlaneCore::ConfigItem.new(key: :output_dir,
                                 env_name: "BLUEPILL_OUTPUT_DIR",
                                 description: "output directory for bluepill logs and reports",
                                 optional: false,
                                 is_string: true),
    FastlaneCore::ConfigItem.new(key: :app,
                                 env_name: "BLUEPILL_APP_PATH",
                                 description: "app path (.app)",
                                 optional: false,
                                 is_string: true),
    FastlaneCore::ConfigItem.new(key: :device,
                                 env_name: "BLUEPILL_DEVICE",
                                 description: "device for using in the test",
                                 is_string: true,
                                 optional: false,
                                 default_value: "iPhone 6"),
    FastlaneCore::ConfigItem.new(key: :headless,
                                 env_name: "BLUEPILL_HEADLESS",
                                 description: "run in headless mode (no GUI)",
                                 is_string: false,
                                 optional: false,
                                 default_value: false),
    FastlaneCore::ConfigItem.new(key: :number_of_simulators,
                                 env_name: "BLUEPILL_NUMBER_OF_SIMLATORS",
                                 description: "number of simulators to run in parallel. (bluepill only)",
                                 is_string: false,
                                 optional: false,
                                 default_value: 4),
    FastlaneCore::ConfigItem.new(key: :reuse_simulator,
                                 env_name: "BLUEPILL_REUSE_SIMULATOR",
                                 description: "reuse simulator or not",
                                 is_string: false,
                                 optional: true,
                                 default_value: false)
  ]
end
bin_bluepill() click to toggle source
# File lib/fastlane/plugin/bluepill/actions/bluepill_action.rb, line 17
def self.bin_bluepill
  File.expand_path('../../../../../../bin/bluepill', __FILE__)
end
description() click to toggle source
# File lib/fastlane/plugin/bluepill/actions/bluepill_action.rb, line 21
def self.description
  "Plugin to use bluepill in fastlane"
end
details() click to toggle source
# File lib/fastlane/plugin/bluepill/actions/bluepill_action.rb, line 32
def self.details
  "Bluepill is powered by LinkedIn: https://github.com/linkedin/bluepill"
end
example_code() click to toggle source
# File lib/fastlane/plugin/bluepill/actions/bluepill_action.rb, line 84
def self.example_code
  [
    'bluepill(
          scheme: "path/to/SomeApp.xcscheme",
          output_dir: "path/to/output_dir", # Bluepill\'s output dir such as log file
          app: "path/to/SomeApp.app",
    )'
  ]
end
is_supported?(platform) click to toggle source
# File lib/fastlane/plugin/bluepill/actions/bluepill_action.rb, line 80
def self.is_supported?(platform)
  platform == :ios
end
return_value() click to toggle source

Nothing to return

# File lib/fastlane/plugin/bluepill/actions/bluepill_action.rb, line 30
def self.return_value; end
run(params) click to toggle source
# File lib/fastlane/plugin/bluepill/actions/bluepill_action.rb, line 4
def self.run(params)
  UI.message("Start test by using Bluepill: https://github.com/linkedin/bluepill")
  cmd =  bin_bluepill.to_s
  cmd << " #{params[:xctestrun]}"
  cmd << " -a #{params[:app]}"
  cmd << " -o #{params[:output_dir]}"
  cmd << " -d \"#{params[:device]}\""
  cmd << " -n #{params[:number_of_simulators]}"
  cmd << " -H" if params[:headless]
  cmd << " --reuse-simulator" if params[:reuse_simulator]
  sh cmd
end