build #1
This file contains 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: build | |
on: | |
workflow_dispatch: | |
inputs: | |
platform: | |
description: Platform to build for (all/android/ios) | |
type: choice | |
required: true | |
default: all | |
options: | |
- all | |
- android | |
- ios | |
profile: | |
description: EAS build profile (development/production) | |
type: choice | |
required: true | |
default: development | |
options: | |
- development | |
- production | |
submit: | |
description: Auto submit to the store? (production only) | |
type: boolean | |
required: false | |
jobs: | |
mobile: | |
runs-on: ubuntu-latest | |
steps: | |
- name: 🏗 Setup repository | |
uses: actions/checkout@v4 | |
- name: 🏗 Setup monorepo | |
uses: ./.github/actions/setup-monorepo | |
with: | |
expo-token: ${{ secrets.EXPO_TOKEN }} | |
- name: 👷 Build packages for mobile | |
run: pnpm run -w build:mobile | |
# You can remove this step if you already configured this | |
# This project shouldn't be pre-configured with this ID, that's why its omitted | |
- name: 👷 Configure project | |
working-directory: apps/mobile | |
run: | | |
eas init --id d202a56f-0162-450d-af3b-a2d2e0678594 --force --non-interactive | |
echo $(jq '.expo.runtimeVersion.policy = "sdkVersion"' app.json) > app.json | |
- name: 🚀 Build mobile | |
if: ${{ !github.event.inputs.submit || github.event.inputs.profile != 'production' }} | |
working-directory: apps/mobile | |
run: eas build --non-interactive --wait --platform=${{ github.event.inputs.platform }} --profile=${{ github.event.inputs.profile }} | |
- name: 🚀 Build & submit mobile | |
if: ${{ github.event.inputs.submit && github.event.inputs.profile != 'production' }} | |
working-directory: apps/mobile | |
run: eas build --non-interactive --wait --auto-submit --platform=${{ github.event.inputs.platform }} --profile=${{ github.event.inputs.profile }} |