add staging ios app build script
This commit is contained in:
2
.github/workflows/README.md
vendored
2
.github/workflows/README.md
vendored
@@ -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 artifact;Production APK 才创建正式 GitHub Release。
|
||||
|
||||
14
.github/workflows/app-expo-deploy.yml
vendored
14
.github/workflows/app-expo-deploy.yml
vendored
@@ -8,12 +8,12 @@
|
||||
# - 若需用 x86 模拟器验证此 APK,需改回含 x86 的 ABI 或另建 job。
|
||||
#
|
||||
# 环境映射(与后端 api 一致:main → 预发 staging,tag → 生产 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
|
||||
|
||||
Reference in New Issue
Block a user