Skip to content

[CI] Select Xcode and Simulator version based available version (#1659) #618

[CI] Select Xcode and Simulator version based available version (#1659)

[CI] Select Xcode and Simulator version based available version (#1659) #618

Workflow file for this run

name: A/B Testing
on:
push:
branches: [ main ]
paths:
- '.github/workflows/abtesting.yml'
- 'abtesting/**'
- 'scripts/*'
- 'scripts/abtesting.sh'
- '!abtesting/*.md'
- '!abtesting/Design/**'
pull_request:
branches: [ main ]
paths:
- '.github/workflows/abtesting.yml'
- 'abtesting/**'
- 'scripts/*'
- 'scripts/abtesting.sh'
- '!abtesting/*.md'
- '!abtesting/Design/**'
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.ref }}
cancel-in-progress: true
env:
secrets_passphrase: ${{ secrets.GHASECRETSGPGPASSPHRASE1 }}
SAMPLE: ABTesting
jobs:
cocoapods:
name: cocoapods
runs-on: macOS-15
env:
SPM: false
TEST: true
steps:
- name: Checkout
uses: actions/checkout@master
- name: Setup
run: |
cd abtesting/LegacyABTestingQuickstart
gem install bundler
bundle install
gem install xcpretty
bundle exec pod install --repo-update
cd ..
../scripts/install_prereqs/abtesting.sh
- name: Build Swift
run: ./scripts/test.sh
env:
LEGACY: true
SWIFT_SUFFIX: ""
OS: iOS
DEVICE: iPhone 16
spm:
name: spm (Xcode ${{ matrix.xcode }} - ${{ matrix.os }})
runs-on: macOS-15
strategy:
matrix:
xcode: ["16.1"]
os: [iOS, tvOS, macOS, watchOS, catalyst]
include:
- os: iOS
device: iPhone 16
# Test runs locally but fails in CI with:
# (Underlying Error: lstat of
# /Users/runner/Library/Developer/CoreSimulator/Devices/
# 7E72AD09-C998-432D-84B1-0504177194AE/data/Library/Caches/
# com.apple.mobile.installd.staging/temp.WdeFLV/extracted/ABTestingExample.app
# /Frameworks/GoogleAppMeasurement.framework/GoogleAppMeasurement failed: No such file or directory
test: false
- os: tvOS
device: Apple TV 4K (3rd generation) (at 1080p)
test: true
- os: macOS
device: localhost
test: true
- os: watchOS
device: Apple Watch Series 5 - 44m
test: false
- os: catalyst
device: localhost
test: true
env:
SETUP: abtesting
SPM: true
DIR: abtesting
OS: ${{ matrix.os }}
DEVICE: ${{ matrix.device }}
TEST: ${{ matrix.test }}
DEVELOPER_DIR: /Applications/Xcode_${{ matrix.xcode }}.app/Contents/Developer
steps:
- name: Checkout
uses: actions/checkout@master
- name: Setup
run: |
gem install xcpretty
cd $SETUP
../scripts/install_prereqs/${SETUP}.sh
- name: Build and Test SwiftUI (${{ matrix.os }})
run: ./scripts/test.sh