Skip to content

Remove Intel Mac references #16

Remove Intel Mac references

Remove Intel Mac references #16

Workflow file for this run

name: CI
on:
push:
branches: [main]
pull_request:
branches: [main]
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
# TypeScript type checking and Jest tests
test-js:
name: TypeScript & Jest
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
cache: 'npm'
- name: Install dependencies
run: npm ci
- name: Type check
run: npm run typescript
- name: Run tests
run: npm run test -- --coverage --ci
- name: Upload coverage
uses: codecov/codecov-action@v4
if: always()
with:
files: ./coverage/lcov.info
fail_ci_if_error: false
# Build iOS example app
build-ios:
name: Build iOS
runs-on: macos-14
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
cache: 'npm'
- name: Install dependencies
run: npm ci
- name: Install example dependencies
run: cd example && npm install
- name: Install CocoaPods
run: gem install cocoapods
- name: Pod install
run: cd example/ios && pod install
- name: Build iOS
run: |
xcodebuild \
-workspace example/ios/FluidAudioExample.xcworkspace \
-scheme FluidAudioExample \
-configuration Debug \
-sdk iphonesimulator \
-destination 'platform=iOS Simulator,name=iPhone 15 Pro' \
build \
CODE_SIGNING_ALLOWED=NO
# Build Expo test app
build-expo:
name: Build Expo
runs-on: macos-14
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
cache: 'npm'
- name: Install dependencies
run: npm ci
- name: Build package
run: npm run prepare
- name: Install expo-test dependencies
run: cd expo-test && npm install
- name: Sync FluidAudio package
run: cd expo-test && npm run sync-fluidaudio
- name: Generate native project
run: cd expo-test && npx expo prebuild --platform ios --no-install
- name: Install CocoaPods
run: cd expo-test/ios && pod install
- name: Build iOS
run: |
xcodebuild \
-workspace expo-test/ios/expotest.xcworkspace \
-scheme expotest \
-configuration Debug \
-sdk iphonesimulator \
-destination 'platform=iOS Simulator,name=iPhone 15 Pro' \
build \
CODE_SIGNING_ALLOWED=NO
# Lint check
lint:
name: Lint
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
cache: 'npm'
- name: Install dependencies
run: npm ci
- name: Run ESLint
run: npm run lint
continue-on-error: true
# Package validation
package:
name: Package Validation
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
cache: 'npm'
- name: Install dependencies
run: npm ci
- name: Build package
run: npm run prepare
- name: Check package contents
run: npm pack --dry-run
- name: Verify exports
run: |
# Check that compiled files exist and export the expected symbols
node -e "
const fs = require('fs');
const indexContent = fs.readFileSync('./lib/commonjs/index.js', 'utf8');
const expected = ['ASRManager', 'StreamingASRManager', 'VADManager', 'DiarizationManager', 'TTSManager', 'getSystemInfo', 'isAppleSilicon', 'cleanup'];
const missing = expected.filter(e => !indexContent.includes(e));
if (missing.length) {
console.error('Missing exports:', missing);
process.exit(1);
}
console.log('All exports found in compiled output');
"