update_fastlane default_platform(:ios) platform :ios do lane :testflight_prune_dry do clean_testflight_testers(days_of_inactivity:45, dry_run: true) end # Specify a custom number for what's "inactive" lane :testflight_prune do clean_testflight_testers(days_of_inactivity: 45) # 120 days, so about 4 months end lane :update_version do |options| options[:plist_path] = '../osu.iOS/Info.plist' app_version(options) end desc 'Deploy to testflight' lane :beta do |options| update_version(options) provision( type: 'appstore' ) build( build_configuration: 'Release', build_platform: 'iPhone' ) client = HTTPClient.new changelog = client.get_content 'https://gist.githubusercontent.com/peppy/ab89c29dcc0dce95f39eb218e8fad197/raw' changelog.gsub!('$BUILD_ID', options[:build]) pilot( wait_processing_interval: 1800, changelog: changelog, ipa: './osu.iOS/bin/iPhone/Release/osu.iOS.ipa' ) end desc 'Compile the project' lane :build do nuget_restore( project_path: 'osu.iOS.sln' ) souyuz( platform: "ios", build_target: "osu_iOS", plist_path: "../osu.iOS/Info.plist" ) end desc 'Install provisioning profiles using match' lane :provision do |options| if Helper.is_ci? options[:readonly] = true end match(options) end end