chore(release): v0.3.1 + eas-release.sh script

- package.json + app.config.ts (Expo source-of-truth) auf 0.3.1
- versionCode/buildNumber bleibt 10 (native files schon synced)
- eas-release.sh: build+submit für TestFlight/Play-Internal, default
  iOS, --android/--both flags, version-check-prompt vor build

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
chahinebrini 2026-05-18 08:11:18 +02:00
parent 5c539f8937
commit b9b397b346
3 changed files with 77 additions and 2 deletions

View File

@ -4,7 +4,7 @@ export default ({ config }: ConfigContext): ExpoConfig => ({
...config,
name: "ReBreak",
slug: "rebreak",
version: "0.3.0",
version: "0.3.1",
orientation: "portrait",
icon: "./assets/icon.png",
scheme: "rebreak",

View File

@ -0,0 +1,75 @@
#!/usr/bin/env bash
# Rebreak Native — EAS Cloud-Build + Store-Submit für Release-Channels.
#
# Usage:
# ./eas-release.sh # iOS only (build + TestFlight) — Default
# ./eas-release.sh --ios # iOS only
# ./eas-release.sh --android # Android AAB + Play-Console Internal
# ./eas-release.sh --both # iOS + Android parallel
# ./eas-release.sh --build-only # nur Build, kein Submit (für QA)
# ./eas-release.sh --no-wait # Build im Hintergrund, return sofort
#
# Profile: `production` (live in eas.json — staging-Backend, app-bundle, m-medium)
#
# Voraussetzungen:
# - `eas login` einmalig durchgeführt
# - Android: serviceAccountKeyPath in eas.json gesetzt (Play-Console-Submit)
# - iOS: Apple-Connect-Login wird beim ersten Run abgefragt
# - Vorher version-bumpen (package.json + android/app/build.gradle + iOS Info.plist)
set -euo pipefail
cd "$(dirname "$0")"
PROFILE="production"
PLATFORM="ios"
SUBMIT_FLAG="--auto-submit"
WAIT_FLAG=""
while [[ $# -gt 0 ]]; do
case "$1" in
--ios) PLATFORM="ios"; shift ;;
--android) PLATFORM="android"; shift ;;
--both) PLATFORM="all"; shift ;;
--build-only) SUBMIT_FLAG=""; shift ;;
--no-wait) WAIT_FLAG="--no-wait"; shift ;;
-h|--help)
awk '/^#!/{next} /^#/{sub(/^# ?/, ""); print; next} {exit}' "$0"
exit 0 ;;
*) echo "Unbekanntes Flag: $1"; echo " --help für Hilfe"; exit 1 ;;
esac
done
if ! command -v eas >/dev/null 2>&1; then
echo "eas-cli nicht gefunden. Install:"
echo " pnpm add -g eas-cli"
exit 1
fi
echo "→ EAS Build — platform=$PLATFORM profile=$PROFILE submit=${SUBMIT_FLAG:-no}"
echo ""
echo " Bevor du fortfährst: Version gebumpt?"
echo " - apps/rebreak-native/package.json (version)"
echo " - android/app/build.gradle (versionCode + versionName)"
echo " - ios/ReBreak/Info.plist (CFBundleVersion + CFBundleShortVersionString)"
echo ""
read -p "Versionen sind aktuell? [y/N] " -n 1 -r
echo ""
[[ ! $REPLY =~ ^[Yy]$ ]] && { echo "Abgebrochen."; exit 0; }
eas build \
--platform "$PLATFORM" \
--profile "$PROFILE" \
--non-interactive \
$SUBMIT_FLAG \
$WAIT_FLAG
echo ""
echo "Fertig."
echo ""
if [[ -n "$SUBMIT_FLAG" ]]; then
echo "Submit läuft automatisch nach Build:"
echo " - iOS → TestFlight (App Store Connect)"
echo " - Android → Play Console Internal-Track"
echo ""
echo "Status checken: eas build:list --limit 5"
fi

View File

@ -1,6 +1,6 @@
{
"name": "rebreak-native",
"version": "0.3.0",
"version": "0.3.1",
"private": true,
"main": "expo-router/entry",
"scripts": {