fix: remove top block above Your Lists #306
Workflow file for this run
This file contains hidden or 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: Mobile Build CI | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| branches: [main] | |
| release: | |
| types: [published] | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| web-build: | |
| name: Build Web App | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: 22 | |
| cache: npm | |
| - name: Install dependencies | |
| run: npm ci | |
| - name: Generate Convex types | |
| # continue-on-error so PRs without CONVEX_DEPLOY_KEY fall back to committed generated types | |
| continue-on-error: true | |
| run: npx convex codegen | |
| env: | |
| CONVEX_DEPLOY_KEY: ${{ secrets.CONVEX_DEPLOY_KEY }} | |
| - name: Build web app | |
| run: npm run build | |
| env: | |
| # Release builds use real URL; PR/push builds use placeholder (native code compile check only) | |
| VITE_CONVEX_URL: ${{ secrets.VITE_CONVEX_URL || 'https://placeholder.convex.cloud' }} | |
| - uses: actions/upload-artifact@v4 | |
| with: | |
| name: web-dist | |
| path: dist/ | |
| retention-days: 1 | |
| ios-build: | |
| name: Build & Deploy iOS to TestFlight | |
| runs-on: macos-latest | |
| needs: web-build | |
| if: github.event_name == 'release' | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: 22 | |
| cache: npm | |
| - uses: actions/download-artifact@v4 | |
| with: | |
| name: web-dist | |
| path: dist/ | |
| - name: Install dependencies | |
| run: npm ci | |
| - uses: ruby/setup-ruby@v1 | |
| with: | |
| ruby-version: '3.3' | |
| bundler-cache: true | |
| working-directory: ios | |
| - name: Capacitor sync | |
| run: npx cap sync ios | |
| - name: Fastlane Beta | |
| working-directory: ios | |
| env: | |
| MATCH_PASSWORD: ${{ secrets.MATCH_PASSWORD }} | |
| MATCH_GIT_URL: ${{ secrets.MATCH_GIT_URL }} | |
| MATCH_GIT_BASIC_AUTHORIZATION: ${{ secrets.MATCH_GIT_BASIC_AUTHORIZATION }} | |
| APP_STORE_CONNECT_API_PRIVATE_KEY: ${{ secrets.APP_STORE_CONNECT_API_PRIVATE_KEY }} | |
| APP_STORE_CONNECT_KEY_ID: ${{ secrets.APP_STORE_CONNECT_KEY_ID }} | |
| APP_STORE_CONNECT_ISSUER_ID: ${{ secrets.APP_STORE_CONNECT_ISSUER_ID }} | |
| APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }} | |
| run: bundle exec fastlane beta | |
| ios-build-check: | |
| name: iOS Build Check | |
| runs-on: macos-latest | |
| needs: web-build | |
| if: github.event_name != 'release' | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: 22 | |
| cache: npm | |
| - uses: actions/download-artifact@v4 | |
| with: | |
| name: web-dist | |
| path: dist/ | |
| - name: Install dependencies | |
| run: npm ci | |
| - name: Capacitor sync | |
| run: npx cap sync ios | |
| - name: Build iOS (simulator, no signing) | |
| run: | | |
| xcodebuild \ | |
| -scheme App \ | |
| -destination 'generic/platform=iOS Simulator' \ | |
| -configuration Debug \ | |
| -derivedDataPath /tmp/poo-ios-build \ | |
| CODE_SIGNING_ALLOWED=NO \ | |
| build | |
| working-directory: ios/App | |
| android-build: | |
| name: Build Android | |
| runs-on: ubuntu-latest | |
| needs: web-build | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: 22 | |
| cache: npm | |
| - uses: actions/setup-java@v4 | |
| with: | |
| distribution: temurin | |
| java-version: 21 | |
| - uses: actions/download-artifact@v4 | |
| with: | |
| name: web-dist | |
| path: dist/ | |
| - name: Install dependencies | |
| run: npm ci | |
| - name: Capacitor sync | |
| run: npx cap sync android | |
| - name: Cache Gradle | |
| uses: actions/cache@v4 | |
| with: | |
| path: | | |
| ~/.gradle/caches | |
| ~/.gradle/wrapper | |
| key: gradle-${{ hashFiles('android/**/*.gradle*', 'android/**/gradle-wrapper.properties') }} | |
| restore-keys: gradle- | |
| - name: Build Android Debug | |
| working-directory: android | |
| run: ./gradlew assembleDebug |