Stabilize iOS/watchOS/tvOS apps and add cross-platform audit remediation

This commit is contained in:
Trey t
2026-02-11 12:54:40 -06:00
parent e40275e694
commit acce712261
77 changed files with 2940 additions and 765 deletions

23
scripts/smoke/build_ios.sh Executable file
View File

@@ -0,0 +1,23 @@
#!/usr/bin/env bash
set -euo pipefail
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)"
cd "$ROOT_DIR"
LOG_FILE="${TMPDIR:-/tmp}/werkout_smoke_ios.log"
set -o pipefail
xcodebuild -project iphone/Werkout_ios.xcodeproj \
-scheme 'Werkout_ios' \
-configuration Debug \
-destination 'generic/platform=iOS' \
-derivedDataPath /tmp/werkout_smoke_ios_dd \
CODE_SIGNING_ALLOWED=NO \
build 2>&1 | tee "$LOG_FILE"
FILTERED_ISSUES="$(rg -n "warning:|error:" "$LOG_FILE" | rg -v "Metadata extraction skipped. No AppIntents.framework dependency found." || true)"
if [[ -n "$FILTERED_ISSUES" ]]; then
echo "iOS build produced warnings/errors. See $LOG_FILE" >&2
echo "$FILTERED_ISSUES" | sed -n '1,120p' >&2
exit 1
fi

23
scripts/smoke/build_tvos.sh Executable file
View File

@@ -0,0 +1,23 @@
#!/usr/bin/env bash
set -euo pipefail
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)"
cd "$ROOT_DIR"
LOG_FILE="${TMPDIR:-/tmp}/werkout_smoke_tv.log"
set -o pipefail
xcodebuild -project WekoutThotViewer/WekoutThotViewer.xcodeproj \
-scheme WekoutThotViewer \
-configuration Debug \
-destination 'generic/platform=tvOS' \
-derivedDataPath /tmp/werkout_smoke_tv_dd \
CODE_SIGNING_ALLOWED=NO \
build 2>&1 | tee "$LOG_FILE"
FILTERED_ISSUES="$(rg -n "warning:|error:" "$LOG_FILE" | rg -v "Metadata extraction skipped. No AppIntents.framework dependency found." || true)"
if [[ -n "$FILTERED_ISSUES" ]]; then
echo "tvOS build produced warnings/errors. See $LOG_FILE" >&2
echo "$FILTERED_ISSUES" | sed -n '1,120p' >&2
exit 1
fi

23
scripts/smoke/build_watch.sh Executable file
View File

@@ -0,0 +1,23 @@
#!/usr/bin/env bash
set -euo pipefail
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)"
cd "$ROOT_DIR"
LOG_FILE="${TMPDIR:-/tmp}/werkout_smoke_watch.log"
set -o pipefail
xcodebuild -project iphone/Werkout_ios.xcodeproj \
-scheme 'Werkout_watch Watch App' \
-configuration Debug \
-destination 'generic/platform=watchOS' \
-derivedDataPath /tmp/werkout_smoke_watch_dd \
CODE_SIGNING_ALLOWED=NO \
build 2>&1 | tee "$LOG_FILE"
FILTERED_ISSUES="$(rg -n "warning:|error:" "$LOG_FILE" | rg -v "Metadata extraction skipped. No AppIntents.framework dependency found." || true)"
if [[ -n "$FILTERED_ISSUES" ]]; then
echo "watchOS build produced warnings/errors. See $LOG_FILE" >&2
echo "$FILTERED_ISSUES" | sed -n '1,120p' >&2
exit 1
fi

21
scripts/smoke/smoke_all.sh Executable file
View File

@@ -0,0 +1,21 @@
#!/usr/bin/env bash
set -euo pipefail
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)"
cd "$ROOT_DIR"
./scripts/ci/scan_tokens.sh
cd SharedCore
export SWIFTPM_MODULECACHE_OVERRIDE="${TMPDIR:-/tmp}/werkout_swiftpm_module_cache"
export CLANG_MODULE_CACHE_PATH="${TMPDIR:-/tmp}/werkout_clang_module_cache"
export XDG_CACHE_HOME="${TMPDIR:-/tmp}/werkout_xdg_cache"
mkdir -p "$SWIFTPM_MODULECACHE_OVERRIDE" "$CLANG_MODULE_CACHE_PATH" "$XDG_CACHE_HOME"
swift test --disable-sandbox --scratch-path "${TMPDIR:-/tmp}/werkout_sharedcore_scratch"
cd "$ROOT_DIR"
./scripts/smoke/build_ios.sh
./scripts/smoke/build_watch.sh
./scripts/smoke/build_tvos.sh
echo "Smoke suite passed (token scan + SharedCore tests + iOS/watchOS/tvOS builds)."