Mt 1480 - Moments API #421
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"] | |
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 | |
steps: | |
- name: Setup Xcode version | |
uses: maxim-lobanov/[email protected] | |
with: | |
xcode-version: latest-stable | |
- uses: actions/checkout@v2 | |
- name: Test - "${{ matrix.scheme }}" | |
run: fastlane scan --scheme "${{ matrix.scheme }}" --output_files "${{ matrix.scheme }}".html | |
working-directory: ${{env.working-directory}} | |
- name: Archive Code Coverage Report | |
uses: actions/upload-artifact@v2 | |
with: | |
name: code-coverage-report | |
path: ${{env.working-directory}}/test_output/"${{ matrix.scheme }}".html | |
### The following will upload the code coverage reports to Codecov.io ### | |
# - name: Upload to Codecov - "${{ matrix.scheme }}" | |
# run: bash <(curl -s https://codecov.io/bash) | |
# working-directory: ${{env.working-directory}} | |
### The following will manually parse the Xcode code coverage report, read the percentage, then either pass or fail | |
### based on a given percentage. We have elected not to use this right now, but might in the future. ### | |
# run: rm -rf output && fastlane scan --scheme "${{ matrix.scheme }}" --derived_data_path ./output --code_coverage true --skip_build true | |
# working-directory: ${{env.working-directory}} | |
# - name: Save Code Coverage Report - "${{ matrix.scheme }}" | |
# run: xcrun xccov view --report --only-targets ./output/Logs/Test/*.xcresult >> "${{ matrix.scheme }}".txt | |
# working-directory: ${{env.working-directory}} | |
# - name: Setup Python | |
# uses: actions/setup-python@v2 | |
# with: | |
# python-version: '3.8' | |
# - name: Validate Code Coverage - "${{ matrix.scheme }}" | |
# run: python3 coverage.py "${{ matrix.scheme }}".txt && exit $(echo $?) | |
# 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,arch=x86_64"] | |
scheme: | |
- TealiumAutotrackingTests-macOS | |
- TealiumCoreTests-macOS | |
- TealiumCollectTests-macOS | |
- TealiumLifecycleTests-macOS | |
- TealiumMediaTests-macOS | |
- TealiumVisitorServiceTests-macOS | |
- TealiumMomentsAPITests-macOS | |
steps: | |
- name: Setup Xcode version | |
uses: maxim-lobanov/[email protected] | |
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 | |
working-directory: ${{env.working-directory}} | |
- name: Archive Code Coverage Report | |
uses: actions/upload-artifact@v2 | |
with: | |
name: code-coverage-report | |
path: ${{env.working-directory}}/test_output/"${{ matrix.scheme }}".html | |
### The following will upload the code coverage reports to Codecov.io ### | |
# - name: Upload to Codecov - "${{ matrix.scheme }}" | |
# run: bash <(curl -s https://codecov.io/bash) | |
# working-directory: ${{env.working-directory}} | |
### The following will manually parse the Xcode code coverage report, read the percentage, then either pass or fail | |
### based on a given percentage. We have elected not to use this right now, but might in the future. ### | |
# - name: Save Code Coverage Report - "${{ matrix.scheme }}" | |
# run: xcrun xccov view --report --only-targets ./output/Logs/Test/*.xcresult >> "${{ matrix.scheme }}".txt | |
# working-directory: ${{env.working-directory}} | |
# - name: Setup Python | |
# uses: actions/setup-python@v2 | |
# with: | |
# python-version: '3.8' | |
# - name: Validate Code Coverage - "${{ matrix.scheme }}" | |
# run: python3 coverage.py "${{ matrix.scheme }}".txt && exit $(echo $?) | |
# 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/[email protected] | |
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 | |
working-directory: ${{env.working-directory}} | |
- name: Archive Code Coverage Report | |
uses: actions/upload-artifact@v2 | |
with: | |
name: code-coverage-report | |
path: ${{env.working-directory}}/test_output/"${{ matrix.scheme }}".html | |
### The following will upload the code coverage reports to Codecov.io ### | |
# - name: Upload to Codecov - "${{ matrix.scheme }}" | |
# run: bash <(curl -s https://codecov.io/bash) | |
# working-directory: ${{env.working-directory}} | |
### The following will manually parse the Xcode code coverage report, read the percentage, then either pass or fail | |
### based on a given percentage. We have elected not to use this right now, but might in the future. ### | |
# - name: Save Code Coverage Report - "${{ matrix.scheme }}" | |
# run: xcrun xccov view --report --only-targets ./output/Logs/Test/*.xcresult >> "${{ matrix.scheme }}".txt | |
# working-directory: ${{env.working-directory}} | |
# - name: Setup Python | |
# uses: actions/setup-python@v2 | |
# with: | |
# python-version: '3.8' | |
# - name: Validate Code Coverage - "${{ matrix.scheme }}" | |
# run: python3 coverage.py "${{ matrix.scheme }}".txt && exit $(echo $?) | |
# working-directory: ${{env.working-directory}} | |
# test_VisitorServiceDemo_uiTests: | |
# name: Test TealiumVisitorProfileDemo UI Tests | |
# runs-on: macos-11 | |
# timeout-minutes: 60 | |
# env: | |
# DEVELOPER_DIR: /Applications/Xcode.app/Contents/Developer | |
# working-directory: ./samples/VisitorServiceDemo | |
# steps: | |
# - name: Setup Xcode version | |
# uses: maxim-lobanov/[email protected] | |
# with: | |
# xcode-version: latest-stable | |
# - uses: actions/checkout@v2 | |
# - name: Test TealiumVisitorProfileDemo UI Tests iOS | |
# run: rm -rf output && pod install && fastlane scan --scheme "TealiumVisitorProfileDemoUITests" --derived_data_path ./output --code_coverage false --skip_build true | |
# 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=14.5,name=iPhone 14"] | |
steps: | |
- name: Setup Xcode version | |
uses: maxim-lobanov/[email protected] | |
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 | |
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,arch=x86_64"] | |
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 | |
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/[email protected] | |
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 | |
working-directory: ${{ env.working-directory }} |