fix/update_cicd #103
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: CI | |
| on: | |
| push: | |
| pull_request: | |
| concurrency: | |
| group: frontend-ci-${{ github.ref }} | |
| cancel-in-progress: true | |
| permissions: | |
| contents: read | |
| env: | |
| FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: "true" | |
| jobs: | |
| test: | |
| name: Jest on Node 24 | |
| runs-on: ubuntu-latest | |
| env: | |
| CI: "1" | |
| EXPO_TUNNEL: "false" | |
| EXPO_DEVTOOLS_LISTEN_ADDRESS: 0.0.0.0 | |
| EXPO_PUBLIC_API_BASE: http://localhost:8000 | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v5 | |
| - name: Use Node 24 | |
| uses: actions/setup-node@v5 | |
| with: | |
| node-version: 24 | |
| cache: npm | |
| cache-dependency-path: frontend/app/package-lock.json | |
| - name: Install deps | |
| working-directory: frontend/app | |
| run: npm ci | |
| - name: Type check (skip if no TS) | |
| if: hashFiles('frontend/app/tsconfig.json') != '' | |
| working-directory: frontend/app | |
| run: | | |
| npx --yes typescript@latest -v >/dev/null 2>&1 || true | |
| npx tsc --noEmit || (echo "::warning::Type check failed"; exit 1) | |
| - name: Run Jest with coverage (CI mode) | |
| working-directory: frontend/app | |
| run: npm test -- --ci --runInBand --coverage --verbose | |
| web-export-smoke: | |
| name: Expo web export (smoke) | |
| needs: test | |
| runs-on: ubuntu-latest | |
| env: | |
| CI: "1" | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v5 | |
| - name: Use Node 24 | |
| uses: actions/setup-node@v5 | |
| with: | |
| node-version: 24 | |
| cache: npm | |
| cache-dependency-path: frontend/app/package-lock.json | |
| - name: Install deps | |
| working-directory: frontend/app | |
| run: npm ci | |
| - name: Build (expo export -p web) | |
| working-directory: frontend/app | |
| run: npx expo export -p web --output-dir dist | |
| - name: Verify dist output | |
| working-directory: frontend/app | |
| run: | | |
| test -d dist | |
| test -f dist/index.html |