iOS: default build is dev + prov, public only on request

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
rootandClaude Opus 5.5 committed 2026-11-09 17:09:10 -08:00
1 parent 08f7af9421
commit e8bc920454
3 files changed
+25 -11

No files matched your search

+1
View File
@@ -32,3 +32,4 @@
2026-11-09 iOS: Duo split now engages with the phone lying flat (hinge region reports inactive then), with a screen-size fallback if no region is reported. 1.0 RC 4 (build 24).
2026-11-09 iOS: dev builds (`ios/scripts/build-remote.sh dev`): bundle id org.cdnutter.stemify-dev, "Stemify Dev", own App Group, into ios/build/dev. Internal tests only, never on Gitea or Sideload.
2026-11-09 iOS: Duo unfolded redesign. Tabs move to a rail on the right edge by the status bar, Now Playing fills the screen with stems and queue on the left and the player on the right, picking a tab swaps the left pane, Swap flips the sides (remembered). Folded screen unchanged.
2026-11-09 iOS: build-remote.sh now builds dev + prov by default; public only with `public`.
+6 -3
View File
@@ -5,6 +5,7 @@
# Finished IPAs are kept per version; build/work is scratch and is wiped each run.
# "build-ipa.sh dev" builds only build/dev/stemify-<version>-dev.ipa: bundle id org.cdnutter.stemify-dev,
# named "Stemify Dev", ad-hoc signed, so it installs next to the release app. For internal tests, never released.
# "build-ipa.sh prov" builds only the signed prov IPA (no public one).
# ios/scripts/build-remote.sh runs this on White-M1 and copies build/public and build/prov back to DevOps.
set -euo pipefail
cd "$(dirname "$0")/.."
@@ -41,9 +42,11 @@ if [ "$MODE" = dev ]; then
fi
# Public build, for the releases and AltStore/Sideloadly.
rm -f $B/public/stemify-$VERSION.ipa
(cd $OUT && zip -qry ../public/stemify-$VERSION.ipa Payload)
echo "$B/public/stemify-$VERSION.ipa"
if [ "$MODE" != prov ]; then
rm -f $B/public/stemify-$VERSION.ipa
(cd $OUT && zip -qry ../public/stemify-$VERSION.ipa Payload)
echo "$B/public/stemify-$VERSION.ipa"
fi
if [ -f prov/Stemify.mobileprovision ] && [ -f prov/key.p12 ] && [ -n "${P12_PASS:-}" ]; then
KC=$PWD/$OUT/sign.keychain-db; KP=$(uuidgen)
+18 -8
View File
@@ -1,13 +1,23 @@
#!/bin/bash
# Run from DevOps: syncs ios/ to White-M1, builds there, and pulls the IPAs back into ios/build/{public,prov}.
# "build-remote.sh dev" builds only the internal test IPA into ios/build/dev.
# Run from DevOps: syncs ios/ to White-M1, builds there, and pulls the IPAs back into ios/build.
# build-remote.sh dev + prov (the usual build): build/dev and build/prov
# build-remote.sh public public + prov, only when a public release is asked for: build/public and build/prov
# build-remote.sh dev dev only
set -euo pipefail
cd "$(dirname "$0")/.."
H=${BUILD_HOST:-white-m1}; R=stemify-build/ios
case "${1:-}" in
"") MODES="dev prov" ;;
public) MODES="release" ;;
dev) MODES="dev" ;;
*) echo "usage: $0 [public|dev]" >&2; exit 1 ;;
esac
rsync -a --exclude build --exclude prov --exclude Stemify.xcodeproj ./ $H:$R/
ssh $H "cd $R && P12_PASS=\$(cat prov/cert_pass.txt 2>/dev/null) bash scripts/build-ipa.sh ${1:-}"
if [ "${1:-}" = dev ]; then mkdir -p build/dev; rsync -a $H:$R/build/dev/ build/dev/; ls build/dev; exit 0; fi
mkdir -p build/public build/prov
rsync -a $H:$R/build/public/ build/public/
rsync -a $H:$R/build/prov/ build/prov/
ls build/public build/prov
for m in $MODES; do
ssh $H "cd $R && P12_PASS=\$(cat prov/cert_pass.txt 2>/dev/null) bash scripts/build-ipa.sh $m"
done
for m in $MODES; do
case $m in dev) DIRS=dev ;; prov) DIRS=prov ;; release) DIRS="public prov" ;; esac
for d in $DIRS; do mkdir -p build/$d; rsync -a $H:$R/build/$d/ build/$d/; done
done
ls build/*/stemify-$(sed -nE 's/^ *VERSION_LABEL: "(.*)"/\1/p' project.yml | tr 'A-Z' 'a-z' | sed -E 's/ rc /-rc/; s/ /-/g')*.ipa 2>/dev/null