Skip to content

Build Tlon Mobile

Build Tlon Mobile #178

Workflow file for this run

name: Build Tlon Mobile
on:
workflow_dispatch:
inputs:
profile:
type: choice
description: Select profile
options:
- preview
- production
platform:
type: choice
description: Select platform
options:
- all
- android
- ios
jobs:
deploy:
runs-on: ubuntu-latest
name: Create mobile builds
steps:
- name: Check out repository
uses: actions/checkout@v4
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version-file: .nvmrc
- name: Set up Expo and EAS
uses: expo/expo-github-action@v8
with:
eas-version: latest
token: ${{ secrets.EXPO_TOKEN }}
- name: Setup PNPM
uses: pnpm/action-setup@v3
- name: Install dependencies
run: pnpm install --frozen-lockfile
- name: Create build vars
id: vars
run: |
echo "profile=${{ inputs.profile || 'preview' }}" >> $GITHUB_OUTPUT
- name: Build for selected platforms
working-directory: ./apps/tlon-mobile
run:
eas build --profile ${{ steps.vars.outputs.profile }} --platform ${{
inputs.platform || 'all' }} --non-interactive --auto-submit
env:
EXPO_APPLE_ID: ${{ secrets.EXPO_APPLE_ID }}
EXPO_APPLE_PASSWORD: ${{ secrets.EXPO_APPLE_PASSWORD }}
NOTIFY_PROVIDER:
"${{ steps.vars.outputs.profile == 'preview' &&
'binnec-dozzod-marnus' || 'rivfur-livmet' }}"
NOTIFY_SERVICE:
"${{ steps.vars.outputs.profile == 'preview' &&
'tlon-preview-release' || 'groups-native' }}"