mirror of
https://github.com/openclaw/openclaw.git
synced 2026-10-03 09:39:25 +00:00
* feat(ci): slim iOS test simulators Pin SimSlim 0.8.0 for CI simulator preparation with a conservative search/family-only profile. Keep stock and Watch behavior unchanged, bind screenshots to the prepared runtime, and fail immediately on preparation errors. * feat(ci): require iOS release E2E qualification Qualify beta releases with the real paired Debug app, an isolated Gateway, and a deterministic provider fixture before release. Keep stock as the default. Compare four matched stock/SimSlim pairs in AB, BA, AB, BA order with sampled footprint and retained failures. Real Xcode 26.6 execution and measured native comparison proof remain pending. Changelog changes are release-owned and intentionally omitted. * fix(ci): handle reusable jobs in mobile workflow tests Skip absent step arrays in generic workflow traversals while preserving named-job and protected-input assertions. Reproduce four guard failures, run both complete files (83 passed and one sparse-fixture failure), then pass the targeted fixture retry after materializing the tracked file. Targeted formatting, lint, and incremental P2 review passed. * fix(ci): unblock native iOS qualification startup * fix(ci): run iOS qualification without repetition flags * fix(ci): preserve simulator Keychain entitlements * test(ios): preserve drafts during live chat qualification * test(ios): select the hittable chat transcript * test(ios): identify the chat transcript explicitly * test(ios): dismiss chat keyboard through transcript text * test(ios): match long submitted prompts by label * test(ios): dismiss keyboard using visible transcript text * fix(ios): keep transcript scroll commands one-shot * fix(ios): avoid transcript stalls after repeated sends * fix(ci): constrain native iOS qualification targets * fix(ci): preserve targeted mobile validation tiers * test(ci): supply native qualification gate context
43 lines
1.3 KiB
Bash
Executable file
43 lines
1.3 KiB
Bash
Executable file
#!/bin/bash
|
|
|
|
set -euo pipefail
|
|
|
|
if [[ "$#" -ne 1 || -z "$1" ]]; then
|
|
echo "usage: $0 <install-directory>" >&2
|
|
exit 2
|
|
fi
|
|
if [[ "$(uname -s)" != "Darwin" || "$(uname -m)" != "arm64" ]]; then
|
|
echo "simslim requires macOS arm64" >&2
|
|
exit 1
|
|
fi
|
|
|
|
readonly simslim_version="0.8.0"
|
|
readonly simslim_checksum="c7d33ba033488521eb42ec2057c3a069b13b6551c9ebfe4455128befe2ad9b19"
|
|
|
|
umask 077
|
|
install_dir="$1"
|
|
temp_dir="$(mktemp -d)"
|
|
trap 'rm -rf "$temp_dir"' EXIT
|
|
|
|
archive="$temp_dir/simslim.tar.gz"
|
|
extract_dir="$temp_dir/extract"
|
|
|
|
curl --fail --location --silent --show-error \
|
|
--connect-timeout 10 --max-time 120 \
|
|
--retry 3 --retry-max-time 120 \
|
|
--output "$archive" \
|
|
"https://github.com/MobAI-App/simslim/releases/download/v$simslim_version/simslim-v$simslim_version-macos-arm64.tar.gz"
|
|
archive_checksum="$(shasum -a 256 "$archive" | awk '{print $1}')"
|
|
if [[ "$archive_checksum" != "$simslim_checksum" ]]; then
|
|
echo "simslim archive checksum mismatch" >&2
|
|
exit 1
|
|
fi
|
|
|
|
mkdir -p "$install_dir" "$extract_dir"
|
|
tar -xzf "$archive" -C "$extract_dir" simslim
|
|
install -m 0755 "$extract_dir/simslim" "$install_dir/simslim"
|
|
installed_version="$("$install_dir/simslim" --version)"
|
|
if [[ "$installed_version" != "simslim $simslim_version" ]]; then
|
|
echo "simslim version mismatch" >&2
|
|
exit 1
|
|
fi
|