diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 96b4c5d..a5ac8bb 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -10,18 +10,52 @@ on: jobs: build: - name: Build and Test + name: Build Web runs-on: ubuntu-latest timeout-minutes: 30 steps: + - uses: actions/checkout@v7 - uses: actions/setup-node@v7 with: node-version: 24 + cache: 'npm' + - run: npm ci + - run: npm run build + + build-android: + needs: ['build'] + runs-on: 'macos-26' + timeout-minutes: 30 + steps: - uses: actions/checkout@v7 - - name: Restore Dependency Cache - uses: actions/cache@v6 + - uses: actions/setup-node@v7 with: - path: ~/.npm - key: ${{ runner.OS }}-dependency-cache-${{ hashFiles('**/package.json') }} - - run: npm install + node-version: 24 + cache: 'npm' + - run: npm ci + - run: npm run build + - name: Sync native platforms + run: npx cap sync + - name: Build Android + working-directory: ./android + run: ./gradlew clean assembleDebug + + build-ios: + needs: ['build'] + runs-on: 'macos-15' + timeout-minutes: 30 + steps: + - uses: actions/checkout@v7 + - uses: actions/setup-node@v7 + with: + node-version: 24 + cache: 'npm' + - name: Set Xcode 26.0 + run: sudo xcode-select --switch /Applications/Xcode_26.0.app + - run: npm ci - run: npm run build + - name: Sync native platforms + run: npx cap sync + - name: Build iOS + working-directory: ./ios/App + run: xcodebuild clean build -workspace App.xcworkspace -scheme App CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO