Skip to content

Mt 1480 - Moments API #420

Mt 1480 - Moments API

Mt 1480 - Moments API #420

Workflow file for this run

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=14.5,name=iPhone 14"]
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 }}