27 lines
1.2 KiB
Bash
27 lines
1.2 KiB
Bash
#!/usr/bin/env bash
|
|||
|
|
# Run the WebKit smoke suite, upload artifacts (video/trace/screenshots/report)
|
||
|
|
# to MinIO, then exit with the suite's real result so a CD gate can act on it.
|
||
|
|
set -uo pipefail
|
||
|
|
|
||
|
|
STAMP="${RUN_ID:-$(date +%Y%m%d-%H%M%S)}"
|
||
|
|
DEST="e2e/${STAMP}"
|
||
|
|
|
||
|
|
echo "▶ Playwright WebKit smoke — BASE_DOMAIN=${BASE_DOMAIN:-riotpiao.com}"
|
||
|
|
npm test
|
||
|
|
RESULT=$?
|
||
|
|
echo "▶ suite exit=${RESULT}"
|
||
|
|
|
||
|
|
# Upload artifacts even on failure — a failed deploy is exactly when you want the video.
|
||
|
|
if [[ -n "${MINIO_ENDPOINT:-}" && -n "${MINIO_ACCESS_KEY:-}" ]]; then
|
||
|
|
echo "▶ uploading artifacts → ${MINIO_ENDPOINT}/${MINIO_BUCKET:-e2e-artifacts}/${DEST}"
|
||
|
|
mc alias set store "${MINIO_ENDPOINT}" "${MINIO_ACCESS_KEY}" "${MINIO_SECRET_KEY}" >/dev/null 2>&1
|
||
|
|
mc mb --ignore-existing "store/${MINIO_BUCKET:-e2e-artifacts}" >/dev/null 2>&1
|
||
|
|
mc cp --recursive test-results/ "store/${MINIO_BUCKET:-e2e-artifacts}/${DEST}/test-results/" >/dev/null 2>&1 || true
|
||
|
|
mc cp --recursive playwright-report/ "store/${MINIO_BUCKET:-e2e-artifacts}/${DEST}/playwright-report/" >/dev/null 2>&1 || true
|
||
|
|
echo "▶ artifacts uploaded under ${DEST}/"
|
||
|
|
else
|
||
|
|
echo "▶ MINIO_ENDPOINT unset — skipping upload (artifacts in ./test-results)"
|
||
|
|
fi
|
||
|
|
|
||
|
|
exit ${RESULT}
|