Continuous Deployment #121
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: 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) |