Skip to content

Continuous Deployment #121

Continuous Deployment

Continuous Deployment #121

name: Continuous Deployment
on:
workflow_dispatch:
inputs:
channel:
type: choice
description: 'Channel to deploy to. The preview channel creates an internal preview build and is available for download on Expo.dev. The production channel creates a production build and uploads this build to be released in the stores. It does not make a release in the stores yet.'
required: true
options:
- 'preview'
- 'production'
default: 'preview'
platform:
type: choice
description: 'Platform to deploy to'
required: true
options:
- 'android'
- 'ios'
- 'all'
default: 'all'
app:
type: choice
description: 'App to deploy'
required: true
options:
- 'easypid'
- 'paradym'
default: 'paradym'
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: 🏗 Setup repo
uses: actions/checkout@v4
- name: 🏗 Setup Node
uses: actions/setup-node@v4
with:
node-version: 18.x
- uses: pnpm/action-setup@v4
with:
version: 9
- name: 🏗 Setup EAS
uses: expo/expo-github-action@v8
with:
eas-version: latest
token: ${{ secrets.EXPO_PUBLISHER_ACCESS_TOKEN }}
- name: 📦 Install dependencies
run: pnpm install
- name: 🚀 Build
run: pnpm build
- name: 🚀 Build internal preview
if: ${{ github.event.inputs.channel == 'preview' }}
run: (cd apps/${{ github.event.inputs.app }} && eas build --non-interactive --platform ${{ github.event.inputs.platform }} --profile preview --no-wait)
- name: 🚀 Build and Submission to TestFlight / Alpha Track
if: ${{ github.event.inputs.channel == 'production' }}
run: (cd apps/${{ github.event.inputs.app }} && eas build --non-interactive --platform ${{ github.event.inputs.platform }} --profile production --no-wait --auto-submit)