45 lines
1.4 KiB
YAML

# For a detailed guide to building and testing on iOS, read the docs:
# https://circleci.com/docs/2.0/testing-ios/
version: 2.1
executors:
xcode:
macos:
xcode: 14.2.0
commands:
install_dependencies:
description: "Install dependencies"
steps:
- restore_cache:
key: 1-gems-{{ checksum "Gemfile.lock" }}
- run: bundle check || bundle install --path vendor/bundle
- save_cache:
key: 1-gems-{{ checksum "Gemfile.lock" }}
paths:
- vendor/bundle
work_around_swift_package_manager_bug:
description: "Work around a Swift package manager bug" # https://support.circleci.com/hc/en-us/articles/360044709573?input_string=unable%2Bto%2Baccess%2Bprivate%2Bswift%2Bpackage%2Brepository
steps:
- run: sudo defaults write com.apple.dt.Xcode IDEPackageSupportUseBuiltinSCM YES
- run: rm ~/.ssh/id_rsa || true
- run: for ip in $(dig @8.8.8.8 github.com +short); do ssh-keyscan github.com,$ip; ssh-keyscan $ip; done 2>/dev/null >> ~/.ssh/known_hosts || true
jobs:
test_pr:
executor: xcode
steps:
- checkout
- install_dependencies
- work_around_swift_package_manager_bug
- run:
name: Fastlane
command: bundle exec fastlane verify_pull_request
- store_test_results:
path: fastlane/test_output/
workflows:
test_pr:
jobs:
- test_pr