Skip to content

Build iOS App

Build iOS App #12

Workflow file for this run

name: Build iOS App
on:
workflow_dispatch:
inputs:
profile:
type: choice
required: true
default: production
description: Build profile to use
options:
- development
- preview
- production
- stage
jobs:
build:
runs-on: macos-26
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 22.x
- name: Setup pnpm
uses: pnpm/action-setup@v4
with:
version: 10
- name: Get pnpm store directory
id: pnpm-cache
run: echo "store=$(pnpm store path --silent)" >> $GITHUB_OUTPUT
- name: Cache pnpm store
uses: actions/cache@v4
with:
path: ${{ steps.pnpm-cache.outputs.store }}
key: ${{ runner.os }}-pnpm-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-pnpm-
- name: Install dependencies
run: pnpm install --frozen-lockfile
- name: Setup EAS
uses: expo/expo-github-action@v8
with:
eas-version: latest
token: ${{ secrets.EXPO_TOKEN }}
- name: Build iOS App
run: |
eas build \
--local \
--non-interactive \
--platform=ios \
--profile=${{ github.event.inputs.profile }}
- name: Upload iOS Build Artifact
uses: actions/upload-artifact@v4
with:
name: ios-${{ github.event.inputs.profile }}-${{ github.run_number }}
path: ./*.ipa
if-no-files-found: error