mirror of
https://github.com/MaaAssistantArknights/MaaAssistantArknights.git
synced 2026-07-19 18:47:55 +08:00
* ci: try macos for smoke_test * ci: Remove concurrency from smoke-testing workflow * ci: use ninjga build for macos testing * ci: add trigger * ci: fix macos parallel * ci: update bash * fix: zsh script * fix: perms * fix: zsh script regular array * ci: add resource link for cache hit * test: enable dev for testing * test: revert test --------- Co-authored-by: Constrat <56174894+Constrat@users.noreply.github.com>
48 lines
1.0 KiB
Bash
Executable File
48 lines
1.0 KiB
Bash
Executable File
#!/usr/bin/env zsh
|
|
|
|
set -e
|
|
|
|
clients=("Official" "YoStarJP" "YoStarEN" "YoStarKR" "txwy")
|
|
error_clients=()
|
|
log_dir="./install/debug"
|
|
mkdir -p "$log_dir"
|
|
|
|
pids=()
|
|
client_map=()
|
|
|
|
for client in "${clients[@]}"; do
|
|
echo "Starting test for $client"
|
|
./install/smoke_test "$client" > "$log_dir/asst_${client}.log" 2>&1 &
|
|
pids+=($!)
|
|
client_map+=("$client")
|
|
done
|
|
|
|
for i in {1..${#pids}}; do
|
|
pid=${pids[$i]}
|
|
client=${client_map[$i]}
|
|
|
|
if ! wait $pid; then
|
|
error_clients+=("$client")
|
|
fi
|
|
done
|
|
|
|
rm -f "$log_dir/asst.log"
|
|
for client in "${clients[@]}"; do
|
|
cat "$log_dir/asst_${client}.log" >> "$log_dir/asst.log"
|
|
done
|
|
|
|
if [[ ${#error_clients} -gt 0 ]]; then
|
|
for client in "${error_clients[@]}"; do
|
|
while IFS= read -r line; do
|
|
if [[ "$line" =~ "\[ERR\]" ]]; then
|
|
print -P "%F{red}${line}%f"
|
|
else
|
|
echo "$line"
|
|
fi
|
|
done < "$log_dir/asst_${client}.log"
|
|
done
|
|
exit 1
|
|
fi
|
|
|
|
print -P "%F{green}All tests passed%f"
|