38 lines
903 B
Bash
Executable File
38 lines
903 B
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
source "$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)/load-playwright-container-env.sh"
|
|
GATEWAY_IMAGE="${GHOST_E2E_GATEWAY_IMAGE:-caddy:2-alpine}"
|
|
|
|
echo "Preparing E2E build-mode runtime"
|
|
echo "Playwright image: ${PLAYWRIGHT_IMAGE}"
|
|
echo "Gateway image: ${GATEWAY_IMAGE}"
|
|
|
|
pids=()
|
|
labels=()
|
|
|
|
run_bg() {
|
|
local label="$1"
|
|
shift
|
|
labels+=("$label")
|
|
(
|
|
echo "[${label}] starting"
|
|
"$@"
|
|
echo "[${label}] done"
|
|
) &
|
|
pids+=("$!")
|
|
}
|
|
|
|
run_bg "pull-gateway-image" docker pull "$GATEWAY_IMAGE"
|
|
run_bg "pull-playwright-image" docker pull "$PLAYWRIGHT_IMAGE"
|
|
run_bg "start-infra" env GHOST_E2E_MODE=build bash "$REPO_ROOT/e2e/scripts/infra-up.sh"
|
|
|
|
for i in "${!pids[@]}"; do
|
|
if ! wait "${pids[$i]}"; then
|
|
echo "[${labels[$i]}] failed" >&2
|
|
exit 1
|
|
fi
|
|
done
|
|
|
|
node "$REPO_ROOT/e2e/scripts/sync-tinybird-state.mjs"
|