name: CI
on:
push:
branches: [ main, develop ]
pull_request:
branches: [ main ]
jobs:
test:
runs-on: macos-latest
strategy:
matrix:
node-version: [16.x, 18.x, 20.x]
steps:
- uses: actions/checkout@v3
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}
cache: 'npm'
- name: Install dependencies
run: npm ci
- name: Build
run: npm run build
- name: Run linter
run: npm run lint --if-present
- name: Run tests
run: npm test --if-present
- name: Check TypeScript
run: npx tsc --noEmit
xcode-validation:
runs-on: macos-latest
steps:
- uses: actions/checkout@v3
- name: Select Xcode
run: sudo xcode-select -s /Applications/Xcode.app
- name: Show Xcode version
run: xcodebuild -version
- name: Verify xcrun
run: xcrun --version
- name: Test simulator commands
run: |
xcrun simctl list devices
xcrun simctl list runtimes