From ec36a403c72290c1c30e4693eb9be4549f91370c Mon Sep 17 00:00:00 2001 From: Blake Oliver Date: Fri, 10 Apr 2026 01:10:11 -0600 Subject: [PATCH] Copy fastlanes from another project: bump minor major patch and build number, git ignore fastlane artifacts --- .gitignore | 1 + fastlane/Appfile | 6 +++ fastlane/Fastfile | 108 ++++++++++++++++++++++++++++++++++++++++++++ fastlane/Pluginfile | 5 ++ 4 files changed, 120 insertions(+) create mode 100644 .gitignore create mode 100644 fastlane/Appfile create mode 100644 fastlane/Fastfile create mode 100644 fastlane/Pluginfile diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..de8f1ff --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +fastlane/report.xml diff --git a/fastlane/Appfile b/fastlane/Appfile new file mode 100644 index 0000000..4282947 --- /dev/null +++ b/fastlane/Appfile @@ -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 diff --git a/fastlane/Fastfile b/fastlane/Fastfile new file mode 100644 index 0000000..a005b58 --- /dev/null +++ b/fastlane/Fastfile @@ -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 diff --git a/fastlane/Pluginfile b/fastlane/Pluginfile new file mode 100644 index 0000000..87578f8 --- /dev/null +++ b/fastlane/Pluginfile @@ -0,0 +1,5 @@ +# Autogenerated by fastlane +# +# Ensure this file is checked in to source control! + +gem 'fastlane-plugin-versioning'