Electron support #976
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: | |
pull_request: | |
push: | |
branches: master | |
jobs: | |
ci-check: | |
runs-on: ubuntu-22.04 | |
name: JavaScript tests | |
strategy: | |
matrix: | |
node-version: ['18.x', '20.x', '22.x'] | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Set Node.js version | |
uses: actions/setup-node@v3 | |
with: | |
node-version: ${{ matrix.node-version }} | |
- uses: actions/cache@v3 | |
with: | |
path: 'node_modules' | |
key: ${{ runner.os }}-node-${{ matrix.node-version }}-modules-${{ hashFiles('**/yarn.lock') }} | |
- run: yarn | |
- run: yarn ci:check | |
- name: Gradle Wrapper Validation | |
uses: gradle/wrapper-validation-action@v1.0.6 | |
- name: Check docs build | |
run: cd docs-website && yarn install && cd .. && yarn docs:build | |
ios: | |
runs-on: macos-14 | |
name: iOS tests | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Set Node.js version | |
uses: actions/setup-node@v3 | |
with: | |
node-version: 22.x | |
- name: Set Xcode version | |
uses: maxim-lobanov/setup-xcode@v1.2.1 | |
with: | |
xcode-version: 15.4 | |
- name: ccache | |
uses: hendrikmuhs/ccache-action@v1 | |
- name: cache node_modules | |
uses: actions/cache@v3 | |
with: | |
path: 'node_modules' | |
key: ${{ runner.os }}-modules-${{ hashFiles('**/yarn.lock') }} | |
- run: yarn | |
- name: cache Pods | |
uses: actions/cache@v3 | |
id: pods-cache | |
with: | |
path: native/iosTest/Pods | |
key: ${{ runner.os }}-pods-cache-${{ hashFiles('**/Podfile.lock') }} | |
- run: bundle install | |
- name: 'pod install' | |
if: true # steps.pods-cache.outputs.cache-hit != 'true' | |
run: yarn cocoapods | |
- run: yarn test:ios | |
- run: yarn swiftlint | |
android: | |
# https://github.com/ReactiveCircus/android-emulator-runner/issues/46 | |
# TODO: We'd like to bump runner to macos-13 or macos-14, but it no longer works at api-level 29 | |
# (can't find the right emulator). However, bumping api-level doesn't work either! Depending on | |
# configuration, it either can't find the right emulator or times out as the actual JS tests | |
# apparently do not complete. I've tried setting arch and target to no avail. | |
runs-on: macos-12 | |
name: Android tests | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-java@v3 | |
with: | |
distribution: 'adopt' | |
java-version: '17' | |
- name: Set Node.js version | |
uses: actions/setup-node@v3 | |
with: | |
node-version: 22.x | |
- uses: actions/cache@v3 | |
with: | |
path: 'node_modules' | |
key: ${{ runner.os }}-modules-${{ hashFiles('**/yarn.lock') }} | |
- run: yarn | |
- run: yarn dev:native & | |
- uses: gradle/actions/setup-gradle@v3 | |
# See: https://github.com/android/compose-samples/actions/runs/27015993/workflow for ideas for caching | |
- name: run tests | |
uses: reactivecircus/android-emulator-runner@v2.31.0 | |
with: | |
api-level: 29 | |
# target: google_apis | |
# arch: x86_64 | |
working-directory: ./native/androidTest | |
script: ./gradlew connectedAndroidTest | |
# - run: yarn ktlint | |
windows: | |
# FIXME: Windows port is unmaintained. If you're interested in sponsoring continued maintenance, | |
# please email me! | |
if: false | |
runs-on: windows-2022 | |
name: Windows tests | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Set Node.js version | |
uses: actions/setup-node@v3 | |
with: | |
node-version: 22.x | |
- uses: actions/cache@v3 | |
with: | |
path: 'node_modules' | |
key: ${{ runner.os }}-modules-${{ hashFiles('**/yarn.lock') }} | |
- run: yarn --network-timeout 100000 | |
# FIXME: concurrently seems broken on windows | |
# - run: yarn ci | |
- run: yarn test | |
- run: yarn eslint | |
- run: yarn flow | |
# FIXME: TS broken on Windows? | |
# - run: yarn test:typescript | |
# Build WatermelonTester and run in background | |
- run: yarn test:windows | |
# Give it some time to bundle | |
- run: sleep 90 | |
# Start E2E runner to capture integration test results | |
- run: cd native/windowsE2E && yarn | |
- run: yarn test:windows:ci |