ci: add development build (#3136)

* ci: add development build

* update

* update

* update

* name

* simulator

* cancel

* push

* update

* name

* Revert "update"

This reverts commit 34e65dcbd13265e519f99c0575fd6b5f386c7d75.

* path
This commit is contained in:
Stephen Zhou 2025-03-16 10:18:43 +08:00 committed by GitHub
parent 534744210c
commit 08b273ed4b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 108 additions and 0 deletions

View File

@ -0,0 +1,98 @@
name: Build iOS IPA for development
on:
push:
branches: [dev, main]
paths:
- "apps/mobile/web-app/**"
- "apps/mobile/native/**"
- "apps/mobile/package.json"
pull_request:
branches: [dev, main]
paths:
- "apps/mobile/web-app/**"
- "apps/mobile/native/**"
- "apps/mobile/package.json"
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
build:
name: Build iOS IPA for device
runs-on: macos-latest
steps:
- name: 📦 Checkout code
uses: actions/checkout@v4
- name: 📦 Setup pnpm
uses: pnpm/action-setup@v4
with:
run_install: true
- name: 🏗 Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 22
cache: "pnpm"
- name: 📱 Setup EAS
uses: expo/expo-github-action@v8
with:
eas-version: latest
token: ${{ secrets.EXPO_TOKEN }}
- name: 🔨 Build iOS IPA
run: |
cd apps/mobile
eas build --platform ios --profile development --non-interactive --local --output=./build.ipa
env:
CI: true
# Optional: Upload artifact
- name: 📤 Upload IPA
uses: actions/upload-artifact@v4
with:
name: app-ios
path: apps/mobile/build.ipa
retention-days: 90
build-simulator:
name: Build iOS IPA for simulator
runs-on: macos-latest
steps:
- name: 📦 Checkout code
uses: actions/checkout@v4
- name: 📦 Setup pnpm
uses: pnpm/action-setup@v4
with:
run_install: true
- name: 🏗 Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 22
cache: "pnpm"
- name: 📱 Setup EAS
uses: expo/expo-github-action@v8
with:
eas-version: latest
token: ${{ secrets.EXPO_TOKEN }}
- name: 🔨 Build iOS IPA
run: |
cd apps/mobile
eas build --platform ios --profile ios-simulator --non-interactive --local --output=./build-simulator.ipa
env:
CI: true
# Optional: Upload artifact
- name: 📤 Upload IPA
uses: actions/upload-artifact@v4
with:
name: app-ios-simulator
path: apps/mobile/build-simulator.ipa
retention-days: 90

View File

@ -21,6 +21,10 @@ on:
- production
description: "Build profile"
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
build:
name: Build iOS IPA

View File

@ -9,6 +9,12 @@
"distribution": "internal",
"channel": "development"
},
"ios-simulator": {
"extends": "development",
"ios": {
"simulator": true
}
},
"preview": {
"distribution": "internal",
"channel": "preview"