Copy fastlanes from another project: bump minor major patch and build number, git ignore fastlane artifacts

This commit is contained in:
Blake Oliver 2026-04-10 01:10:11 -06:00
parent 60e7b27ab6
commit ec36a403c7
No known key found for this signature in database
4 changed files with 120 additions and 0 deletions

1
.gitignore vendored Normal file
View file

@ -0,0 +1 @@
fastlane/report.xml

6
fastlane/Appfile Normal file
View file

@ -0,0 +1,6 @@
# app_identifier("[[APP_IDENTIFIER]]") # The bundle identifier of your app
# apple_id("[[APPLE_ID]]") # Your Apple Developer Portal username
# For more information about the Appfile, see:
# https://docs.fastlane.tools/advanced/#appfile

108
fastlane/Fastfile Normal file
View file

@ -0,0 +1,108 @@
# This file contains the fastlane.tools configuration
# You can find the documentation at https://docs.fastlane.tools
# Uncomment the line if you want fastlane to automatically update itself
# update_fastlane
default_platform(:ios)
skip_docs
desc "Increment the patch version number (e.g., 1.2.3 → 1.2.4)"
lane :bump_patch do
ensure_git_status_clean
version = increment_version_number_in_xcodeproj(bump_type: "patch")
build_number = increment_build_number_in_xcodeproj
commit_version_bump(message: "Bump patch: #{version} (#{build_number})")
add_git_tag(tag: "build/#{version}-#{build_number}", sign: true)
UI.success("Bumped patch version to #{version} (#{build_number})")
end
desc "Increment the minor version number (e.g., 1.2.3 → 1.3.0)"
lane :bump_minor do
ensure_git_status_clean
version = increment_version_number_in_xcodeproj(bump_type: "minor")
build_number = increment_build_number_in_xcodeproj
commit_version_bump(message: "Bump minor: #{version} (#{build_number})")
add_git_tag(tag: "build/#{version}-#{build_number}", sign: true)
UI.success("Bumped minor version to #{version} (#{build_number})")
end
desc "Increment the major version number (e.g., 1.2.3 → 2.0.0)"
lane :bump_major do
ensure_git_status_clean
version = increment_version_number_in_xcodeproj(bump_type: "major")
build_number = increment_build_number_in_xcodeproj
commit_version_bump(message: "Bump major: #{version} (#{build_number})")
add_git_tag(tag: "build/#{version}-#{build_number}", sign: true)
UI.success("Bumped major version to #{version} (#{build_number})")
end
desc "Set build number to a specific value (usage: fastlane set_build number:19)"
lane :set_build do |options|
ensure_git_status_clean
build_number = options[:number]
UI.user_error!("Please provide a build number, e.g.: fastlane set_build number:19") unless build_number
version = get_version_number_from_xcodeproj
increment_build_number_in_xcodeproj(build_number: build_number.to_s)
commit_version_bump(message: "Set build: #{version} (#{build_number})")
add_git_tag(tag: "build/#{version}-#{build_number}", sign: true)
UI.success("Set build number to #{build_number}")
end
desc "Increment build number by 1"
lane :bump_build do
ensure_git_status_clean
version = get_version_number_from_xcodeproj
build_number = increment_build_number_in_xcodeproj
commit_version_bump(message: "Bump build: #{version} (#{build_number})")
add_git_tag(tag: "build/#{version}-#{build_number}", sign: true)
UI.success("Bumped build number to #{build_number}")
end
desc "Prepare beta release: bump build, commit, tag, and push"
lane :beta do
ensure_git_status_clean
version = get_version_number_from_xcodeproj
build_number = increment_build_number_in_xcodeproj
commit_version_bump(message: "Bump build: #{version} (#{build_number})")
add_git_tag(tag: "build/#{version}-#{build_number}", sign: true)
push_to_git_remote
UI.success("Finished beta tasks - #{version} (#{build_number})")
end
# desc "Prepare beta release with TestFlight build check: bump build, commit, tag, and push"
# lane :beta_testflight do
# ensure_git_status_clean
#
# version = get_version_number_from_xcodeproj
# latest_build = latest_testflight_build_number
#
# increment_build_number_in_xcodeproj(build_number: latest_build + 1)
# build_number = get_build_number_from_xcodeproj
#
# commit_version_bump
# add_git_tag(sign: true)
# push_to_git_remote
#
# UI.success("Finished beta tasks - #{version} (#{build_number})")
# end

5
fastlane/Pluginfile Normal file
View file

@ -0,0 +1,5 @@
# Autogenerated by fastlane
#
# Ensure this file is checked in to source control!
gem 'fastlane-plugin-versioning'