feat: support for visionOS (#352) #65
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: Testing E2E | |
on: | |
pull_request: | |
branches: | |
- '**' | |
paths-ignore: | |
- 'docs/**' | |
- '**/*.md' | |
push: | |
branches: | |
- main | |
paths-ignore: | |
- 'docs/**' | |
- '**/*.md' | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
# ------------------ | |
# Android | |
# ------------------ | |
android: | |
name: Android | |
runs-on: ubuntu-latest | |
timeout-minutes: 70 | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 50 | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: 18 | |
- name: Get yarn cache directory path | |
id: yarn-cache-dir-path | |
run: echo "yarn-cache-dir-path=$(yarn cache dir)" >> $GITHUB_OUTPUT | |
- uses: actions/cache@v3 | |
name: Yarn Cache | |
id: yarn-cache | |
with: | |
path: ${{ steps.yarn-cache-dir-path.outputs.yarn-cache-dir-path }} | |
key: ${{ runner.os }}-yarn-${{ hashFiles('**/package.json') }}-v1 | |
- uses: actions/cache@v3 | |
name: Gradle Cache | |
with: | |
path: ~/.gradle/caches | |
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*') }}-v1 | |
- name: Yarn Install | |
uses: nick-fields/retry@v2 | |
with: | |
timeout_minutes: 10 | |
retry_wait_seconds: 60 | |
max_attempts: 3 | |
command: yarn --no-audit --prefer-offline | |
- name: Configure JDK | |
uses: actions/setup-java@v3 | |
with: | |
distribution: 'temurin' | |
java-version: '17' | |
- name: Verify JDK | |
# Default JDK varies depending on different runner flavors, make we get expected version | |
# Run a check that exits with error unless it is 11 version to future-proof against unexpected upgrades | |
run: java -fullversion 2>&1 | grep '17.0' | |
shell: bash | |
- name: Build Android App | |
uses: nick-fields/retry@v2 | |
with: | |
timeout_minutes: 15 | |
retry_wait_seconds: 60 | |
max_attempts: 3 | |
command: yarn example:build:android | |
# ------------------ | |
# iOS | |
# ------------------ | |
ios: | |
name: iOS | |
runs-on: macos-13 | |
# TODO matrix across APIs, at least 10 and 13 (lowest to highest) | |
timeout-minutes: 60 | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 50 | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: 18 | |
- uses: maxim-lobanov/setup-xcode@v1 | |
with: | |
xcode-version: latest-stable | |
- name: Get yarn cache directory path | |
id: yarn-cache-dir-path | |
run: echo "yarn-cache-dir-path=$(yarn cache dir)" >> $GITHUB_OUTPUT | |
- uses: actions/cache@v3 | |
name: Yarn Cache | |
id: yarn-cache | |
with: | |
path: ${{ steps.yarn-cache-dir-path.outputs.yarn-cache-dir-path }} | |
key: ${{ runner.os }}-yarn-${{ hashFiles('**/package.json') }}-v1 | |
- uses: actions/cache@v3 | |
name: Cache Pods | |
with: | |
path: example/ios/Pods | |
key: ${{ runner.os }}-pods-${{ hashFiles('**/Podfile.lock') }}-v1 | |
- name: Update brew build tools | |
uses: nick-fields/retry@v2 | |
with: | |
timeout_minutes: 10 | |
retry_wait_seconds: 60 | |
max_attempts: 3 | |
command: brew install xcbeautify | |
- name: Update Ruby build tools | |
uses: nick-fields/retry@v2 | |
with: | |
timeout_minutes: 10 | |
retry_wait_seconds: 60 | |
max_attempts: 3 | |
command: gem update cocoapods xcodeproj | |
- name: Yarn and Pod Install | |
uses: nick-fields/retry@v2 | |
with: | |
timeout_minutes: 10 | |
retry_wait_seconds: 60 | |
max_attempts: 3 | |
command: yarn --no-audit --prefer-offline | |
- name: Build iOS App | |
run: | | |
yarn example:build:ios | |
shell: bash |