#!/usr/bin/env bash set -euo pipefail SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" ROOT_DIR="$(cd "${SCRIPT_DIR}/.." && pwd)" APP_DIR="${ROOT_DIR}/apps/platform" LANE="${1:-fast-feedback}" CAPTURE_BASELINE=false copy_heavy_baseline_artifacts() { local artifact_root="${APP_DIR}/storage/logs/test-lanes" local suffix for suffix in summary.md budget.json report.json; do local latest_path="${artifact_root}/heavy-governance-latest.${suffix}" local baseline_path="${artifact_root}/heavy-governance-baseline.${suffix}" if [[ -f "${latest_path}" ]]; then cp "${latest_path}" "${baseline_path}" fi done } case "${LANE}" in fast-feedback|fast|default) COMPOSER_SCRIPT="test:report" ;; confidence) COMPOSER_SCRIPT="test:report:confidence" ;; browser) COMPOSER_SCRIPT="test:report:browser" ;; heavy-governance|heavy) COMPOSER_SCRIPT="test:report:heavy" ;; profiling|profile) COMPOSER_SCRIPT="test:report:profile" ;; *) echo "Unknown test lane: ${LANE}" >&2 exit 1 ;; esac shift || true for arg in "$@"; do if [[ "${arg}" == "--capture-baseline" ]]; then CAPTURE_BASELINE=true continue fi echo "Unknown option: ${arg}" >&2 exit 1 done if [[ "${CAPTURE_BASELINE}" == true && "${LANE}" != "heavy-governance" && "${LANE}" != "heavy" ]]; then echo "--capture-baseline is only supported for heavy-governance" >&2 exit 1 fi cd "${APP_DIR}" ./vendor/bin/sail composer run --timeout=0 "${COMPOSER_SCRIPT}" if [[ "${CAPTURE_BASELINE}" == true ]]; then copy_heavy_baseline_artifacts fi