Skip to content

Commit

The mobile build workflow installs the app's dependencies before building, which EAS needs to read app.config.ts, trims whitespace from EXPO_TOKEN (a pasted newline breaks the request and EAS says only that GraphQL failed), and says who it is signed in as first.

syntaqxcommitted Parent7b69219Browse files
1 file+12−00/1 viewed
+12−0
4747 PROFILE: ${{ inputs.profile || 'preview' }}
4848 steps:
4949 - uses: actions/checkout@v5
50+ - name: Cache npm's downloads
51+ uses: actions/cache@v4
52+ with:
53+ path: ~/.npm
54+ key: npm-${{ runner.os }}-${{ hashFiles('package-lock.json') }}
55+ restore-keys: npm-${{ runner.os }}-
56+ # EAS reads app.config.ts through the app's own `expo`.
57+ - name: Install the app's dependencies
58+ run: npm ci --prefer-offline --no-audit --no-fund -w @g1t/mobile
5059 - name: Build on EAS
5160 working-directory: apps/mobile
5261 env:
5362 EXPO_TOKEN: ${{ secrets.EXPO_TOKEN }}
5463 run: |
64+ # A token pasted with a newline breaks the request's header.
65+ export EXPO_TOKEN="$(printf %s "$EXPO_TOKEN" | tr -d '[:space:]')"
66+ npx --yes eas-cli@24.12.1 whoami
5567 npx --yes eas-cli@24.12.1 build --platform android --profile "$PROFILE" \
5668 --non-interactive --wait --json > build.json
5769 node -e '