Stabilize iOS/watchOS/tvOS apps and add cross-platform audit remediation
This commit is contained in:
23
scripts/smoke/build_ios.sh
Executable file
23
scripts/smoke/build_ios.sh
Executable 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
23
scripts/smoke/build_tvos.sh
Executable 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
23
scripts/smoke/build_watch.sh
Executable 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
21
scripts/smoke/smoke_all.sh
Executable 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)."
|
||||
Reference in New Issue
Block a user