feat(deploy): --skip-pods flag + quiet clean-ios

- clean-ios.sh: new --skip-pods (or SKIP_PODS=1) skips prebuild+pod install
  (use when Pods are already fresh — saves ~30s)
- clean-ios.sh: new --quiet (or REBREAK_QUIET=1) suppresses end-of-run
  'Nächste Schritte' tips (cluttered deploy output)
- deploy.sh: new --skip-pods flag, auto-passes --quiet to clean-ios.sh
This commit is contained in:
chahinebrini 2026-05-30 10:01:41 +02:00
parent b15ee42a85
commit 77407f9d63
2 changed files with 32 additions and 13 deletions

View File

@ -20,11 +20,24 @@
# ./clean-ios.sh → clean + prebuild + pod install (kein Build) # ./clean-ios.sh → clean + prebuild + pod install (kein Build)
# ./clean-ios.sh --build → + zusätzlich pnpm ios am Ende (wirft App auf Sim/Device) # ./clean-ios.sh --build → + zusätzlich pnpm ios am Ende (wirft App auf Sim/Device)
# ./clean-ios.sh --xcode → + zum Schluss Xcode-Workspace öffnen # ./clean-ios.sh --xcode → + zum Schluss Xcode-Workspace öffnen
#
# Env:
# SKIP_PODS=1 → überspringt prebuild + pod install (nutze wenn Pods frisch sind)
# REBREAK_QUIET=1 → unterdrückt die "Nächste Schritte"-Hinweise am Ende
set -e set -e
cd "$(dirname "$0")" cd "$(dirname "$0")"
MODE="${1:-}" MODE=""
for arg in "$@"; do
case "$arg" in
--skip-pods) SKIP_PODS=1 ;;
--quiet) REBREAK_QUIET=1 ;;
*) MODE="$arg" ;;
esac
done
SKIP_PODS="${SKIP_PODS:-0}"
REBREAK_QUIET="${REBREAK_QUIET:-0}"
# FamilyControls-Flag: default ON für lokale Dev-Builds (= entitlement aktiv). # FamilyControls-Flag: default ON für lokale Dev-Builds (= entitlement aktiv).
# Override via `REBREAK_ENABLE_FAMILY_CONTROLS=0 ./clean-ios.sh ...`. # Override via `REBREAK_ENABLE_FAMILY_CONTROLS=0 ./clean-ios.sh ...`.
@ -46,14 +59,18 @@ if [ -d "$DERIVED_DATA" ]; then
rm -rf "$DERIVED_DATA"/Rebreak-* 2>/dev/null || true rm -rf "$DERIVED_DATA"/Rebreak-* 2>/dev/null || true
fi fi
# 3. Prebuild: regeneriert ios/ aus app.config.ts + Config-Plugins if [ "$SKIP_PODS" = "1" ]; then
# Dank with-fmt-consteval-fix-Plugin wird das Podfile auto-gepatcht. echo "⏭ SKIP_PODS=1 → prebuild + pod install übersprungen"
echo "→ pnpm expo prebuild --clean" else
pnpm expo prebuild --clean # 3. Prebuild: regeneriert ios/ aus app.config.ts + Config-Plugins
# Dank with-fmt-consteval-fix-Plugin wird das Podfile auto-gepatcht.
echo "→ pnpm expo prebuild --clean"
pnpm expo prebuild --clean
# 4. Pod install # 4. Pod install
echo "→ cd ios && pod install" echo "→ cd ios && pod install"
(cd ios && pod install) (cd ios && pod install)
fi
echo "" echo ""
echo "✅ Clean done." echo "✅ Clean done."
@ -74,10 +91,7 @@ case "$MODE" in
;; ;;
"") "")
echo " Nächste Schritte:" # no follow-up — clean done.
echo " ./dev-ios.sh # Xcode öffnen (manueller Build)"
echo " pnpm ios # CLI-Build auf Sim/Device"
echo " ./clean-ios.sh --build # alles in einem Rutsch"
;; ;;
*) *)

View File

@ -15,6 +15,7 @@
# --android-version-code N Override Android versionCode # --android-version-code N Override Android versionCode
# --notes "text" Release-Notes für diese Version (TestFlight + Play Console) # --notes "text" Release-Notes für diese Version (TestFlight + Play Console)
# --skip-clean clean-ios.sh überspringen (iOS) # --skip-clean clean-ios.sh überspringen (iOS)
# --skip-pods nur prebuild + pod install überspringen (clean-ios.sh läuft sonst)
# --skip-validate altool --validate-app überspringen (TF) # --skip-validate altool --validate-app überspringen (TF)
# --skip-submit Play-Console-Submit überspringen (Android) # --skip-submit Play-Console-Submit überspringen (Android)
# --keep-build Build-Artefakte NICHT löschen (Default: cleanup nach Submit) # --keep-build Build-Artefakte NICHT löschen (Default: cleanup nach Submit)
@ -263,6 +264,7 @@ EXPLICIT_BUILD=""
ANDROID_VERSION_CODE_OVERRIDE="" ANDROID_VERSION_CODE_OVERRIDE=""
RELEASE_NOTES="" RELEASE_NOTES=""
SKIP_CLEAN=false SKIP_CLEAN=false
SKIP_PODS=false
SKIP_VALIDATE=false SKIP_VALIDATE=false
SKIP_SUBMIT=false SKIP_SUBMIT=false
KEEP_BUILD=false KEEP_BUILD=false
@ -278,6 +280,7 @@ while [[ $# -gt 0 ]]; do
--android-version-code) ANDROID_VERSION_CODE_OVERRIDE="$2"; shift 2 ;; --android-version-code) ANDROID_VERSION_CODE_OVERRIDE="$2"; shift 2 ;;
--notes) RELEASE_NOTES="$2"; shift 2 ;; --notes) RELEASE_NOTES="$2"; shift 2 ;;
--skip-clean) SKIP_CLEAN=true; shift ;; --skip-clean) SKIP_CLEAN=true; shift ;;
--skip-pods) SKIP_PODS=true; shift ;;
--skip-validate) SKIP_VALIDATE=true; shift ;; --skip-validate) SKIP_VALIDATE=true; shift ;;
--skip-submit) SKIP_SUBMIT=true; shift ;; --skip-submit) SKIP_SUBMIT=true; shift ;;
--keep-build) KEEP_BUILD=true; shift ;; --keep-build) KEEP_BUILD=true; shift ;;
@ -575,7 +578,9 @@ deploy_mdm() {
# Clean # Clean
if ! $SKIP_CLEAN; then if ! $SKIP_CLEAN; then
log "Clean iOS..." log "Clean iOS..."
run "$SCRIPT_DIR/clean-ios.sh" local clean_args=(--quiet)
$SKIP_PODS && clean_args+=(--skip-pods)
run "$SCRIPT_DIR/clean-ios.sh" "${clean_args[@]}"
fi fi
# Archive # Archive