Add UI Test suite #535
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: ci | |
on: | |
push: | |
branches: | |
- master | |
pull_request: | |
branches: | |
- "**" | |
schedule: | |
- cron: '3 3 * * 2' # 3:03 AM, every Tuesday | |
concurrency: | |
group: ci-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
lint-podspecs: | |
name: lint podspecs | |
runs-on: macos-latest | |
steps: | |
- name: Git Checkout | |
uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 # required to be able to find Git tags | |
- name: Lint Introspect.podspec | |
run: | | |
set -eo pipefail | |
export LIB_VERSION=$(git describe --tags `git rev-list --tags --max-count=1`) | |
pod lib lint Introspect.podspec --allow-warnings | |
- name: Lint SwiftUIIntrospect.podspec | |
run: | | |
set -eo pipefail | |
export LIB_VERSION=$(git describe --tags `git rev-list --tags --max-count=1`) | |
pod lib lint SwiftUIIntrospect.podspec --allow-warnings | |
ci: | |
name: ${{ matrix.platform[0] }} ${{ matrix.platform[1] }} | |
runs-on: ${{ matrix.os || 'macos-13' }} | |
strategy: | |
fail-fast: false | |
matrix: | |
platform: | |
- [ios, 13] | |
- [ios, 14] | |
- [ios, 15] | |
- [ios, 16] | |
- [tvos, 13] | |
- [tvos, 14] | |
- [tvos, 15] | |
- [tvos, 16] | |
- [macos, 11] | |
- [macos, 12] | |
- [macos, 13] | |
include: | |
- platform: [ios, 13] | |
runtime: iOS 13.7 | |
os: macos-12 | |
xcode: 14.2 | |
install: true | |
- platform: [ios, 14] | |
runtime: iOS 14.5 | |
install: true | |
- platform: [ios, 15] | |
runtime: iOS 15.5 | |
install: true | |
- platform: [ios, 16] | |
runtime: iOS 16.4 | |
install: false | |
- platform: [tvos, 13] | |
runtime: tvOS 13.4 | |
os: macos-12 | |
xcode: 14.2 | |
install: true | |
- platform: [tvos, 14] | |
runtime: tvOS 14.5 | |
install: true | |
- platform: [tvos, 15] | |
runtime: tvOS 15.4 | |
install: true | |
- platform: [tvos, 16] | |
runtime: tvOS 16.4 | |
install: false | |
- platform: [macos, 11] | |
os: macos-11 | |
xcode: 13.2.1 | |
install: false | |
- platform: [macos, 12] | |
os: macos-12 | |
xcode: 14.2 | |
install: false | |
- platform: [macos, 13] | |
os: macos-13 | |
xcode: 14.3 | |
install: false | |
steps: | |
- name: Git Checkout | |
uses: actions/checkout@v3 | |
- name: Setup tea environment | |
uses: teaxyz/setup@v0 | |
with: | |
+: | | |
github.com/XcodesOrg/xcodes | |
- name: Select Xcode version | |
run: sudo xcodes select ${{ matrix.xcode || '14.3' }} | |
- if: ${{ matrix.install }} | |
name: Install Required Runtime (${{ matrix.runtime }}) | |
uses: nick-fields/retry@v2 | |
with: | |
timeout_minutes: 15 | |
max_attempts: 3 | |
command: sudo xcodes runtimes install '${{ matrix.runtime }}' | |
- name: List Available Runtimes and Simulators | |
run: xcrun simctl list | |
- if: ${{ join(matrix.platform, ' ') != 'macos 11' }} | |
name: Build Showcase | |
run: fastlane build platform:${{ matrix.platform[0] }} version:${{ matrix.platform[1] }} scheme:Showcase | |
- if: ${{ join(matrix.platform, ' ') != 'ios 13' && join(matrix.platform, ' ') != 'tvos 13' }} | |
name: Run Tests (Introspect) | |
run: fastlane test platform:${{ matrix.platform[0] }} version:${{ matrix.platform[1] }} scheme:Introspect | |
- if: ${{ join(matrix.platform, ' ') != 'macos 11' }} | |
name: Run Tests (SwiftUIIntrospect, Debug) | |
run: fastlane test platform:${{ matrix.platform[0] }} version:${{ matrix.platform[1] }} scheme:SwiftUIIntrospectTests configuration:Debug | |
- if: ${{ join(matrix.platform, ' ') != 'macos 11' }} | |
name: Run Tests (SwiftUIIntrospect, Release) | |
run: fastlane test platform:${{ matrix.platform[0] }} version:${{ matrix.platform[1] }} scheme:SwiftUIIntrospectTests configuration:Release |