Skip to content

Merge main into next: canonical URL, retire GitHub Pages #34

Merge main into next: canonical URL, retire GitHub Pages

Merge main into next: canonical URL, retire GitHub Pages #34

Workflow file for this run

name: Test
permissions:
contents: read
on:
push:
branches:
- main
- next
pull_request:
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
js:
name: JS (types, lint, format, vitest)
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- name: Enable Corepack
run: corepack enable
- name: Setup Node.js
uses: actions/setup-node@v6
with:
node-version: '24'
cache: 'yarn'
- name: Install dependencies
run: yarn install
- name: Typecheck
run: yarn types
- name: Lint
run: yarn ci:lint
- name: Format
run: yarn ci:format
- name: Test
run: yarn test
ios:
name: iOS (swift test)
runs-on: macos-26
steps:
- uses: actions/checkout@v6
- name: Setup Xcode
uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: 26.2
# No --disable-sandbox here: CI runners are unsandboxed, so SwiftPM can
# shell out to sandbox-exec to compile the manifest. See CLAUDE.md.
- name: Test
run: swift test
android:
name: Android (unit tests)
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- name: Enable Corepack
run: corepack enable
- name: Setup Node.js
uses: actions/setup-node@v6
with:
node-version: '24'
cache: 'yarn'
# The library is not a standalone Gradle project — it is pulled in by the
# example app's autolinking, so node_modules has to exist first.
- name: Install dependencies
run: yarn install
- name: Setup JDK 17
uses: actions/setup-java@v5
with:
distribution: 'zulu'
java-version: '17'
cache: 'gradle'
- name: Cache Gradle
uses: actions/cache@v4
with:
path: |
~/.gradle/caches
~/.gradle/wrapper
key: ${{ runner.os }}-gradle-${{ hashFiles('apps/example-native/android/**/*.gradle*') }}
restore-keys: |
${{ runner.os }}-gradle-
- name: Test
working-directory: apps/example-native/android
run: ./gradlew :react-native-audio-browser:testDebugUnitTest --no-daemon --build-cache
- name: Upload test report
if: failure()
uses: actions/upload-artifact@v4
with:
name: android-test-report
path: android/build/reports/tests/
- name: Stop Gradle daemon
if: always()
working-directory: apps/example-native/android
run: ./gradlew --stop