Replace the last of the fastlane lanes with swift tooling

- move more sharable code to CI static methods
- merge `release_to_github` and `prepare_next_release` into one single command as they had dependencies on each other
- remove all traces of ruby and fastlane
This commit is contained in:
Stefan Ceriu
2026-03-10 12:35:39 +02:00
committed by Stefan Ceriu
parent 96ea54e299
commit bce9119bc3
19 changed files with 211 additions and 574 deletions
+4 -28
View File
@@ -1,33 +1,9 @@
#!/bin/sh
setup_xcode_cloud_environment () {
# Return on failures
# Fail when expanding unset variables
# Trace each command before executing it
set -eEu
# Move to the project root
cd ..
# Prevent installing dependencies in system directories
echo 'export GEM_HOME=$HOME/.gem' >>~/.zshrc
echo 'export PATH=$GEM_HOME/bin:$PATH' >>~/.zshrc
echo 'export PATH="/usr/local/opt/ruby/bin:$PATH"' >> ~/.zshrc
echo 'export PATH="/Users/local/Library/Python/3.9/bin:$PATH"' >> ~/.zshrc
export GEM_HOME=$HOME/.gem
export PATH=$GEM_HOME/bin:$PATH
export PATH="/usr/local/opt/ruby/bin:$PATH"
export PATH="/Users/local/Library/Python/3.9/bin:$PATH"
# Things don't work well on the default ruby version
brew install ruby
gem install bundler
bundle config path vendor/bundle
bundle install --jobs 4 --retry 3
}
# Return on failures
# Fail when expanding unset variables
# Trace each command before executing it
set -eEu
install_xcode_cloud_brew_dependencies () {
brew update && brew install xcodegen pkl getsentry/tools/sentry-cli
+2 -1
View File
@@ -2,7 +2,8 @@
source ci_common.sh
setup_xcode_cloud_environment
# Move to the project root
cd ..
install_xcode_cloud_brew_dependencies
+3 -3
View File
@@ -2,7 +2,8 @@
source ci_common.sh
setup_xcode_cloud_environment
# Move to the project root
cd ..
# Xcode Cloud shallow clones the repo. We need to deepen it to fetch tags, commit history and be able to rebase main on develop at the end of releases.
fetch_unshallow_repository
@@ -14,8 +15,7 @@ swift run -q tools ci upload-dsyms --dsym-path "$CI_ARCHIVE_PATH/dSYMs"
generate_what_to_test_notes
if [ "$CI_WORKFLOW" = "Release" ]; then
bundle exec fastlane release_to_github
bundle exec fastlane prepare_next_release
swift run -q tools ci release-to-github
elif [ "$CI_WORKFLOW" = "Nightly" ]; then
swift run -q tools ci tag-nightly --build-number "$CI_BUILD_NUMBER"
fi