[MT-1688] Fix potential threading issues #450
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Tests and Code Coverage | |
on: [pull_request] | |
jobs: | |
install: | |
name: Setup Fastlane | |
runs-on: macos-14 | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: ruby/setup-ruby@v1 | |
with: | |
ruby-version: '3.0' | |
- name: Install Fastlane | |
run: | | |
gem install fastlane | |
test_iOS: | |
needs: install | |
name: iOS Tests | |
runs-on: macos-14 | |
timeout-minutes: 60 | |
env: | |
DEVELOPER_DIR: /Applications/Xcode.app/Contents/Developer | |
working-directory: ./builder | |
strategy: | |
matrix: | |
destination: ["platform=iOS Simulator,OS=17.5,name=iPhone 15 Pro"] | |
scheme: | |
- TealiumAppDelegateProxyTests-iOS | |
- TealiumAttributionTests-iOS | |
- TealiumAutotrackingTests-iOS | |
- TealiumCollectTests-iOS | |
- TealiumCoreTests-iOS | |
- TealiumInAppPurchaseTests-iOS | |
- TealiumLifecycleTests-iOS | |
- TealiumLocationTests-iOS | |
- TealiumMediaIntegrationTests-iOS | |
- TealiumMediaTests-iOS | |
- TealiumRemoteCommandsTests-iOS | |
- TealiumTagManagementIntegrationTests-iOS | |
- TealiumTagManagementTests-iOS | |
- TealiumVisitorServiceTests-iOS | |
- TealiumMomentsAPITests-iOS | |
- TealiumTraceTests-iOS | |
steps: | |
- name: Setup Xcode version | |
uses: maxim-lobanov/setup-xcode@v1 | |
with: | |
xcode-version: latest-stable | |
- uses: actions/checkout@v2 | |
- name: Test - "${{ matrix.scheme }}" | |
run: fastlane scan --scheme "${{ matrix.scheme }}" --output_files "${{ matrix.scheme }}" --derived-data-path "./build" --skip_build true --result_bundle true --output_types junit --xcodebuild_formatter "xcbeautify -q --is-ci" --destination "${{ matrix.destination }}" | |
working-directory: ${{env.working-directory}} | |
test_macOS: | |
needs: install | |
name: macOS Tests | |
runs-on: macos-14 | |
timeout-minutes: 60 | |
env: | |
DEVELOPER_DIR: /Applications/Xcode.app/Contents/Developer | |
working-directory: ./builder | |
strategy: | |
matrix: | |
destination: ["platform=macOS"] | |
scheme: | |
- TealiumAutotrackingTests-macOS | |
- TealiumCoreTests-macOS | |
- TealiumCollectTests-macOS | |
- TealiumLifecycleTests-macOS | |
- TealiumMediaTests-macOS | |
- TealiumVisitorServiceTests-macOS | |
- TealiumMomentsAPITests-macOS | |
steps: | |
- name: Setup Xcode version | |
uses: maxim-lobanov/setup-xcode@v1 | |
with: | |
xcode-version: latest-stable | |
- uses: actions/checkout@v2 | |
- name: Test - "${{ matrix.scheme }}" | |
run: rm -rf output && fastlane scan --scheme "${{ matrix.scheme }}" --derived_data_path ./output --code_coverage true --skip_build true --destination "${{ matrix.destination }}" | |
working-directory: ${{env.working-directory}} | |
test_tvOS: | |
needs: install | |
name: tvOS Tests | |
runs-on: macos-14 | |
timeout-minutes: 60 | |
env: | |
DEVELOPER_DIR: /Applications/Xcode.app/Contents/Developer | |
working-directory: ./builder | |
strategy: | |
matrix: | |
destination: ["platform=tvOS Simulator,name=Apple TV"] | |
scheme: | |
- TealiumAutotrackingTests-tvOS | |
- TealiumCoreTests-tvOS | |
- TealiumCollectTests-tvOS | |
- TealiumInAppPurchaseTests-tvOS | |
- TealiumLifecycleTests-tvOS | |
- TealiumMediaTests-tvOS | |
- TealiumVisitorServiceTests-tvOS | |
- TealiumMomentsAPITests-tvOS | |
steps: | |
- name: Setup Xcode version | |
uses: maxim-lobanov/setup-xcode@v1 | |
with: | |
xcode-version: latest-stable | |
- uses: actions/checkout@v2 | |
- name: Test - "${{ matrix.scheme }}" | |
run: rm -rf output && fastlane scan --scheme "${{ matrix.scheme }}" --derived_data_path ./output --code_coverage true --skip_build true --destination "${{ matrix.destination }}" | |
working-directory: ${{env.working-directory}} | |
test_Autotracking_iOS_uiTests: | |
name: Test TealiumAutotracking iOS UI Tests | |
runs-on: macos-14 | |
timeout-minutes: 60 | |
env: | |
DEVELOPER_DIR: /Applications/Xcode.app/Contents/Developer | |
working-directory: ./builder | |
strategy: | |
matrix: | |
destination: ["platform=iOS Simulator,OS=17.5,name=iPhone 15 Pro"] | |
steps: | |
- name: Setup Xcode version | |
uses: maxim-lobanov/setup-xcode@v1 | |
with: | |
xcode-version: latest-stable | |
- uses: actions/checkout@v2 | |
- name: Test TealiumAutotracking iOS UI Tests | |
run: rm -rf output && fastlane scan --scheme "TealiumAutotrackingUITests-iOS" --derived_data_path ./output --code_coverage false --skip_build true --destination "${{ matrix.destination }}" | |
working-directory: ${{ env.working-directory }} | |
test_Autotracking_macOS_uiTests: | |
needs: install | |
name: Test TealiumAutotracking macOS UI Tests | |
runs-on: macos-14 | |
timeout-minutes: 60 | |
env: | |
DEVELOPER_DIR: /Applications/Xcode.app/Contents/Developer | |
working-directory: ./builder | |
strategy: | |
matrix: | |
destination: ["platform=macOS"] | |
steps: | |
- name: Setup Xcode version | |
uses: maxim-lobanov/[email protected] | |
with: | |
xcode-version: latest-stable | |
- uses: actions/checkout@v2 | |
- name: Test TealiumAutotracking macOS UI Tests | |
run: rm -rf output && fastlane scan --scheme "TealiumAutotrackingUITests-macOS" --derived_data_path ./output --code_coverage false --skip_build true --destination "${{ matrix.destination }}" | |
working-directory: ${{ env.working-directory }} | |
test_Autotracking_tvOS_uiTests: | |
needs: install | |
name: Test TealiumAutotracking tvOS UI Tests | |
runs-on: macos-14 | |
timeout-minutes: 60 | |
env: | |
DEVELOPER_DIR: /Applications/Xcode.app/Contents/Developer | |
working-directory: ./builder | |
strategy: | |
matrix: | |
destination: ["platform=tvOS Simulator,name=Apple TV"] | |
steps: | |
- name: Setup Xcode version | |
uses: maxim-lobanov/setup-xcode@v1 | |
with: | |
xcode-version: latest-stable | |
- uses: actions/checkout@v2 | |
- name: Test TealiumAutotracking tvOS UI Tests | |
run: rm -rf output && fastlane scan --scheme "TealiumAutotrackingUITests-tvOS" --derived_data_path ./output --code_coverage false --skip_build true --destination "${{ matrix.destination }}" | |
working-directory: ${{ env.working-directory }} |