add staging ios app build script

This commit is contained in:
Kevin
2026-05-20 10:27:40 +08:00
parent 0d417331fd
commit 81458c7046
14 changed files with 102 additions and 31 deletions

View File

@@ -17,6 +17,6 @@
## App Expo Deploy
- **工作流文件**[app-expo-deploy.yml](app-expo-deploy.yml)
- **自动触发**`main``stage`使用 `app-expo/.env.staging` 构建 APK artifact`v*.*.*` tag → `prod`使用 `app-expo/.env.production` 并创建 GitHub Release。
- **自动触发**`main``stage``use-env staging``app-expo/env/staging` `.env`构建 APK artifact`v*.*.*` tag → `prod``env/production` 并创建 GitHub Release。
- **手动触发**`dev` 可用于内部测试包;`stage` 只允许在 `main` / `master` 上补跑;`prod` 需要选择 `vMAJOR.MINOR.PATCH` tag或在 `main` / `master` 上填写语义化 `version`
- **产物规则**Staging APK 仅上传为 GitHub Actions artifactProduction APK 才创建正式 GitHub Release。

View File

@@ -8,12 +8,12 @@
# - 若需用 x86 模拟器验证此 APK需改回含 x86 的 ABI 或另建 job。
#
# 环境映射(与后端 api 一致main → 预发 stagingtag → 生产 production
# push main → stage → node scripts/use-env.js staging → .env.staging
# push v*.*.* → prod → node scripts/use-env.js production → .env.production
# push main → stage → node scripts/use-env.js staging → env/staging → .env
# push v*.*.* → prod → node scripts/use-env.js production → env/production → .env
#
# 手动触发 workflow_dispatch
# - dev内部测试包使用 .env.development
# - stage仅用于 main / master 补跑 Staging release使用 .env.staging
# - dev内部测试包使用 env/development
# - stage仅用于 main / master 补跑 Staging release使用 env/staging
# - prod用于 vMAJOR.MINOR.PATCH tag或在 main / master 上填写 version 后发正式 Release
#
# Repository secrets与 android-release.yml 共用同一套即可):
@@ -140,6 +140,12 @@ jobs:
stage) node scripts/use-env.js staging ;;
*) node scripts/use-env.js development ;;
esac
for legacy in .env.production .env.staging .env.development; do
if [ -f "$legacy" ]; then
echo "::error::Legacy $legacy must not exist at app-expo root (overrides .env on Release builds)."
exit 1
fi
done
- name: Determine version
id: version