98 lines
2.9 KiB
Ruby
98 lines
2.9 KiB
Ruby
# This file contains the fastlane.tools configuration
|
|
# You can find the documentation at https://docs.fastlane.tools
|
|
#
|
|
# For a list of all available actions, check out
|
|
#
|
|
# https://docs.fastlane.tools/actions
|
|
#
|
|
# For a list of all available plugins, check out
|
|
#
|
|
# https://docs.fastlane.tools/plugins/available-plugins
|
|
#
|
|
|
|
# Uncomment the line if you want fastlane to automatically update itself
|
|
# update_fastlane
|
|
|
|
default_platform(:ios)
|
|
|
|
platform :ios do
|
|
desc "Push a new beta build to TestFlight"
|
|
|
|
lane :checkBuild do
|
|
build_app(
|
|
output_name: "MobileNebula.ipa",
|
|
workspace: "Runner.xcworkspace",
|
|
scheme: "Runner",
|
|
configuration: "Debug",
|
|
export_method: "development",
|
|
export_options: {
|
|
manageAppVersionAndBuildNumber: false
|
|
}
|
|
)
|
|
end
|
|
|
|
lane :build do
|
|
# Do some things like setting up a temporary keystore to host secrets in CI
|
|
setup_ci
|
|
|
|
# # Authenticate with Apple app store connect
|
|
# app_store_connect_api_key
|
|
|
|
# Change signing behavior to work in CI
|
|
update_code_signing_settings(
|
|
# Automatic signing seems to be a good thing to have on in dev but will not work in CI
|
|
use_automatic_signing: false,
|
|
# The default value for this is iOS Development which is not appropriate for release
|
|
code_sign_identity: "Apple Distribution",
|
|
)
|
|
|
|
# Find our signing certs and profiles, these come from a private repository and managed by `fastlane match`
|
|
match(type: 'appstore', app_identifier: ["net.defined.mobileNebula","net.defined.mobileNebula.NebulaNetworkExtension"], readonly: true)
|
|
|
|
# Update our main program to have the correct provisioning profile from Apple
|
|
update_project_provisioning(
|
|
xcodeproj: "Runner.xcodeproj",
|
|
target_filter: "Runner",
|
|
# This comes from match() above
|
|
profile:ENV["sigh_net.defined.mobileNebula_appstore_profile-path"],
|
|
build_configuration: "Release"
|
|
)
|
|
|
|
# Update our network extension to have the correct provisioning profile from Apple
|
|
update_project_provisioning(
|
|
xcodeproj: "Runner.xcodeproj",
|
|
target_filter: "NebulaNetworkExtension",
|
|
# This comes from match() above
|
|
profile:ENV["sigh_net.defined.mobileNebula.NebulaNetworkExtension_appstore_profile-path"],
|
|
build_configuration: "Release"
|
|
)
|
|
|
|
increment_build_number(
|
|
xcodeproj: "Runner.xcodeproj",
|
|
build_number: ENV['BUILD_NUMBER']
|
|
)
|
|
|
|
increment_version_number(
|
|
xcodeproj: "Runner.xcodeproj",
|
|
version_number: ENV['BUILD_NAME']
|
|
)
|
|
|
|
build_app(
|
|
output_name: "MobileNebula.ipa",
|
|
workspace: "Runner.xcworkspace",
|
|
scheme: "Runner",
|
|
export_method: "app-store",
|
|
)
|
|
end
|
|
|
|
lane :release do
|
|
# Do some things like setting up a temporary keystore to host secrets in CI
|
|
setup_ci
|
|
|
|
# Authenticate with Apple app store connect
|
|
app_store_connect_api_key
|
|
|
|
upload_to_testflight(skip_waiting_for_build_processing: true)
|
|
end
|
|
end
|