mirror of
https://github.com/mattrubin/Authenticator.git
synced 2026-06-19 13:44:30 +00:00
137 lines
3.2 KiB
Ruby
137 lines
3.2 KiB
Ruby
# Customise this file, documentation can be found here:
|
|
# https://github.com/fastlane/fastlane/tree/master/fastlane/docs
|
|
# 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.4.0"
|
|
|
|
default_platform :ios
|
|
|
|
platform :ios do
|
|
before_all do
|
|
# ENV["SLACK_URL"] = "https://hooks.slack.com/services/..."
|
|
|
|
carthage(
|
|
use_submodules: true,
|
|
no_build: true
|
|
)
|
|
end
|
|
|
|
desc "Generate app icons"
|
|
lane :icons do
|
|
sh "cd .. && export SOURCE_ROOT=`pwd` && ./Authenticator/Resources/GenerateIcons.sh"
|
|
end
|
|
|
|
desc "Generate screenshots"
|
|
lane :screenshots do
|
|
# Generate updated screenshots.
|
|
snapshot
|
|
# Compress the screenshots with pngcrush
|
|
sh "for IMG in screenshots/**/*.png; do pngcrush -rem alla -ow \"$IMG\"; done"
|
|
end
|
|
|
|
desc "Build the app for release"
|
|
lane :build do
|
|
set_build_number
|
|
gym
|
|
clear_build_number
|
|
|
|
# Add a git tag for this build.
|
|
add_git_tag(
|
|
tag: "build/#{build_number}"
|
|
)
|
|
end
|
|
|
|
desc "Runs all the tests"
|
|
lane :test do
|
|
scan(scheme: "Authenticator")
|
|
end
|
|
|
|
desc "Submit a new beta build to TestFlight"
|
|
lane :beta do
|
|
# Ensure that the generated icons are up-to-date and committed.
|
|
icons
|
|
ensure_git_status_clean
|
|
|
|
# Build and upload the new binary to TestFlight.
|
|
build
|
|
pilot
|
|
end
|
|
|
|
desc "Deploy a new version to the App Store"
|
|
lane :release do
|
|
# Ensure that the generated icons and screenshots are up-to-date and committed.
|
|
icons
|
|
screenshots
|
|
ensure_git_status_clean
|
|
|
|
# Build and upload the app metadata and binary to iTunes Connect.
|
|
build
|
|
deliver(
|
|
overwrite_screenshots: true,
|
|
submit_for_review: true,
|
|
automatic_release: true,
|
|
phased_release: true
|
|
)
|
|
|
|
# Add a git tag for this release.
|
|
add_git_tag(
|
|
tag: get_version_number
|
|
)
|
|
|
|
# After committing and tagging, bump the version number.
|
|
increment_version_number
|
|
end
|
|
|
|
# You can define as many lanes as you want
|
|
|
|
after_all do |lane|
|
|
# This block is called, only if the executed lane was successful
|
|
|
|
# slack(
|
|
# message: "Successfully deployed new App Update."
|
|
# )
|
|
end
|
|
|
|
error do |lane, exception|
|
|
# slack(
|
|
# message: exception.message,
|
|
# success: false
|
|
# )
|
|
end
|
|
end
|
|
|
|
def build_number
|
|
# Generate a build number from the number of git commits.
|
|
return number_of_commits.to_s
|
|
end
|
|
|
|
def set_build_number
|
|
increment_build_number(
|
|
build_number: build_number,
|
|
skip_info_plist: true,
|
|
)
|
|
end
|
|
|
|
def clear_build_number
|
|
increment_build_number(
|
|
build_number: 0,
|
|
skip_info_plist: true,
|
|
)
|
|
end
|
|
|
|
|
|
# More information about multiple platforms in fastlane: https://github.com/fastlane/fastlane/blob/master/fastlane/docs/Platforms.md
|
|
# All available actions: https://docs.fastlane.tools/actions
|
|
|
|
# fastlane reports which actions are used
|
|
# No personal data is recorded. Learn more at https://github.com/fastlane/enhancer
|