* ci: post a merge gate status that tightens once the full suite is approved Adds a ci/all-tests-gate commit status driven from CircleCI. A no-requires job posts success at pipeline start, approving the full-suite hold flips it to pending, and all-tasks-passed posts success again once every full job is green. Release pipelines post it from all-tests-succeeded so release PRs are not blocked once the context is required. The reduced suite needs no gate of its own: its jobs are already required individually. * test: find the merge gate by its instance name all-tasks-passed is now an instance of the parameterized post-gate-status job, so the workflow entry is keyed by the job name and carries name:. * ci: never post the default gate success once the full suite is requested full-suite-not-requested waits for the reduced suite and checks the hold first: approved means halt without posting, so the gate goes from unreported straight to pending; anything but on_hold fails the job rather than posting success. all-tasks-passed reaches the reduced suite through full-suite-started, so it keeps a single list, and the test guards the list that gates normal PRs. * ci: retry the gate status post A failed POST leaves the gate at its previous value: green if the pending post fails, stuck if the final success post fails. Retrying transient errors narrows both. --retry-all-errors is not used: the cimg/base curl predates it. * ci: mark the merge gate pending when the bot approves the full suite The bare @RCGitBot please test comment is the usual way to request the full suite. Posting pending from the action right after a successful approval closes the window on that path; a re-comment on an already approved hold posts nothing. Manual approvals in the CircleCI UI keep the window of one container start. * ci: pin the gate's ordering in a test and trim the fan-in list Asserts the state of each gate instance and the requires edges that keep pending after the default success and the final success last. Drops the two reduced-suite jobs all-tasks-passed still listed directly, and lets the hold check log a curl failure instead of a bare exit code.
fastlane documentation
Installation
Make sure you have the latest version of the Xcode command line tools installed:
xcode-select --install
For fastlane installation instructions, see Installing fastlane
Available Actions
check_pods
[bundle exec] fastlane check_pods
prepare_for_carthage
[bundle exec] fastlane prepare_for_carthage
Removes some directories before building with Carthage to prevent unnecessary or problematic scheme resolution (e.g., Magic Weather SwiftUI.xcodeproj or v3LoadShedderIntegration.xcodeproj). Also removes v3LoadShedderIntegration and v4LoadShedderIntegration directories to prevent xcodebuild from timing out when scanning for projects.
load_spm_dependencies
[bundle exec] fastlane load_spm_dependencies
iOS
ios bump
[bundle exec] fastlane ios bump
Bump version, update swift header, edit changelog, and create pull request
ios automatic_bump
[bundle exec] fastlane ios automatic_bump
Automatically bumps version, update swift header, edit changelog, and create pull request
ios github_release
[bundle exec] fastlane ios github_release
Make github release
ios admob_github_release
[bundle exec] fastlane ios admob_github_release
Make github release for purchases-ios-admob
ios prepare_next_version
[bundle exec] fastlane ios prepare_next_version
Creates PR changing version to next minor adding a -SNAPSHOT suffix
ios setup_dev
[bundle exec] fastlane ios setup_dev
Setup development environment
ios update_paywall_preview_resources_commit
[bundle exec] fastlane ios update_paywall_preview_resources_commit
Updates paywall-preview-resources-commit to point to latest commit on main and creates/updates PR
ios record_and_upload_v2_snapshots
[bundle exec] fastlane ios record_and_upload_v2_snapshots
Records Paywall template screenshots once and distributes them to the provided target_repository_path and/or Emerge
ios record_paywall_screenshots
[bundle exec] fastlane ios record_paywall_screenshots
Records screenshots for paywalls
ios build_paywalls_tester_for_emerge
[bundle exec] fastlane ios build_paywalls_tester_for_emerge
Build the Paywalls Test app for Emerge Snapshots
ios record_and_upload_v1_snapshots
[bundle exec] fastlane ios record_and_upload_v1_snapshots
Record V1 template snapshots and upload to Emerge
ios upload_v1_snapshots_to_emerge
[bundle exec] fastlane ios upload_v1_snapshots_to_emerge
Upload V1 template snapshots to Emerge using BYOS
ios build_paywalls_tester_for_emerge_ios
[bundle exec] fastlane ios build_paywalls_tester_for_emerge_ios
ios test_ios
[bundle exec] fastlane ios test_ios
Runs all the iOS tests
ios test_tvos
[bundle exec] fastlane ios test_tvos
Runs all the tvOS tests
ios test_watchos
[bundle exec] fastlane ios test_watchos
Runs all the watchOS tests
ios test_revenuecat_admob
[bundle exec] fastlane ios test_revenuecat_admob
Runs all RevenueCatAdMob tests (standalone SPM package under AdapterSDKs/RevenueCatAdMob)
ios test_revenuecatui
[bundle exec] fastlane ios test_revenuecatui
Runs all RevenueCatUI tests
ios release_checks
[bundle exec] fastlane ios release_checks
Release checks
ios build_tv_watch_mac_visionos
[bundle exec] fastlane ios build_tv_watch_mac_visionos
build tvOS, watchOS, macOS and visionOS
ios build_with_app_extension_safe_apis
[bundle exec] fastlane ios build_with_app_extension_safe_apis
Build a scheme with app-extension-safe API checks enabled
ios build_mac
[bundle exec] fastlane ios build_mac
macOS build
ios build_and_upload_binary_size_analysis
[bundle exec] fastlane ios build_and_upload_binary_size_analysis
Build BinarySizeTest app and upload it for size analysis
ios archive
[bundle exec] fastlane ios archive
archive
ios archive_all_platforms
[bundle exec] fastlane ios archive_all_platforms
archive all platforms
ios run_api_tests
[bundle exec] fastlane ios run_api_tests
run API Tests
ios run_maestro_e2e_tests_ios
[bundle exec] fastlane ios run_maestro_e2e_tests_ios
run_maestro_e2e_tests
ios build_sdk_update_test_apps
[bundle exec] fastlane ios build_sdk_update_test_apps
Build the SDK update test apps
ios run_sdk_update_test
[bundle exec] fastlane ios run_sdk_update_test
Run an SDK update Maestro test case
ios replace_api_key_integration_tests
[bundle exec] fastlane ios replace_api_key_integration_tests
replace API KEY for installation and integration tests
ios release
[bundle exec] fastlane ios release
Create XCFramework, and create GitHub release
ios push_revenuecat_pod
[bundle exec] fastlane ios push_revenuecat_pod
Release to CocoaPods
ios push_revenuecatui_pod
[bundle exec] fastlane ios push_revenuecatui_pod
Release to CocoaPods
ios tag_current_branch
[bundle exec] fastlane ios tag_current_branch
Tag current branch with current version number
ios trigger_bump
[bundle exec] fastlane ios trigger_bump
Trigger bump
ios trigger_bump_sdk_in_rc_mobile_app
[bundle exec] fastlane ios trigger_bump_sdk_in_rc_mobile_app
Trigger bump SDK in RC mobile app
ios generate_snapshots_RC
[bundle exec] fastlane ios generate_snapshots_RC
Trigger CircleCI job to generate snapshots for RevenueCat
ios generate_snapshots_RCUI
[bundle exec] fastlane ios generate_snapshots_RCUI
Trigger CircleCI job to generate snapshots for RevenueCatUI
ios trigger_generate_swiftinterface
[bundle exec] fastlane ios trigger_generate_swiftinterface
Trigger CircleCI job to generate and update baseline swiftinterface files
ios create_snapshot_pr
[bundle exec] fastlane ios create_snapshot_pr
Creates a new PR after new snapshot files were generated
ios create_swiftinterface_pr
[bundle exec] fastlane ios create_swiftinterface_pr
Creates a new PR after new swiftinterface baseline files were generated
ios update_swiftinterface_baselines
[bundle exec] fastlane ios update_swiftinterface_baselines
Generate and update baseline swiftinterface files
ios compile_autogenerated_header
[bundle exec] fastlane ios compile_autogenerated_header
Creates RevenueCat-Swift.h for a new release
ios export_xcframeworks
[bundle exec] fastlane ios export_xcframeworks
ios tuist_generate
[bundle exec] fastlane ios tuist_generate
Generate Tuist workspace
ios xcframework_installation_tests
[bundle exec] fastlane ios xcframework_installation_tests
Test XCFramework integration by building XCFrameworkInstallationTests app
ios remote_config_production_tests
[bundle exec] fastlane ios remote_config_production_tests
Run BackendIntegrationTests
Runs the remote config blob health monitor against the live backend (two projects)
Keys come from the environment (REVENUECAT_REMOTE_CONFIG_CDN_API_KEY / _INLINE_API_KEY);
each test skips if its key is unset, so no key is ever written into source.
ios backend_integration_tests
[bundle exec] fastlane ios backend_integration_tests
ios loadshedder_integration_tests_in_old_major
[bundle exec] fastlane ios loadshedder_integration_tests_in_old_major
Run LoadShedder tests in old major
ios update_swift_package_commit
[bundle exec] fastlane ios update_swift_package_commit
Update swift package commit
ios preview_docs
[bundle exec] fastlane ios preview_docs
Preview docs
ios build_docs
[bundle exec] fastlane ios build_docs
Generate docs without publishing
ios build_and_publish_docs
[bundle exec] fastlane ios build_and_publish_docs
Generate & publish docs
ios deploy_purchase_tester
[bundle exec] fastlane ios deploy_purchase_tester
Build and deploy PurchaseTesterSwiftUI
ios deploy_rct_tester
[bundle exec] fastlane ios deploy_rct_tester
Deploy RCT Tester to TestFlight
ios fetch_paywall_preview_resources
[bundle exec] fastlane ios fetch_paywall_preview_resources
Clones or updates paywall-preview-resources repo
ios generate_swiftinterface
[bundle exec] fastlane ios generate_swiftinterface
Generate Swift interface files for API change detection
ios check_api_changes
[bundle exec] fastlane ios check_api_changes
Check API changes and report results
ios deploy_to_spm
[bundle exec] fastlane ios deploy_to_spm
ios sandbox_testers
[bundle exec] fastlane ios sandbox_testers
Create or delete sandbox testers
ios enable_customer_center
[bundle exec] fastlane ios enable_customer_center
Enable customer center development by cherry-picking a specific commit
ios notify_pr_ci_failure
[bundle exec] fastlane ios notify_pr_ci_failure
ios clear_pr_ci_failure
[bundle exec] fastlane ios clear_pr_ci_failure
Mac
mac test_macos
[bundle exec] fastlane mac test_macos
Runs tests on macOS
This README.md is auto-generated and will be re-generated every time fastlane is run.
More information about fastlane can be found on fastlane.tools.
The documentation of fastlane can be found on docs.fastlane.tools.