Some checks failed
Main Confidence / confidence (push) Failing after 3m36s
## Summary - add explicit Gitea workflow files for PR Fast Feedback, `dev` Confidence, Heavy Governance, and Browser lanes - extend the repo-truth lane support seams with workflow profiles, trigger-aware budget enforcement, artifact publication contracts, CI summaries, and failure classification - add deterministic artifact staging, new CI governance guard coverage, and Spec 210 planning/contracts/docs updates ## Validation - `cd apps/platform && ./vendor/bin/sail bin pint --dirty --format agent` - `cd apps/platform && ./vendor/bin/sail artisan test --compact tests/Feature/Guards/CiFastFeedbackWorkflowContractTest.php tests/Feature/Guards/CiConfidenceWorkflowContractTest.php tests/Feature/Guards/CiHeavyBrowserWorkflowContractTest.php tests/Feature/Guards/CiLaneFailureClassificationContractTest.php tests/Feature/Guards/FastFeedbackLaneContractTest.php tests/Feature/Guards/ConfidenceLaneContractTest.php tests/Feature/Guards/HeavyGovernanceLaneContractTest.php tests/Feature/Guards/BrowserLaneIsolationTest.php tests/Feature/Guards/FixtureLaneImpactBudgetTest.php tests/Feature/Guards/TestLaneManifestTest.php tests/Feature/Guards/TestLaneArtifactsContractTest.php tests/Feature/Guards/TestLaneCommandContractTest.php` - `./scripts/platform-test-lane fast-feedback` - `./scripts/platform-test-lane confidence` - `./scripts/platform-test-lane heavy-governance` - `./scripts/platform-test-lane browser` - `./scripts/platform-test-report fast-feedback` - `./scripts/platform-test-report confidence` ## Notes - scheduled Heavy Governance and Browser workflows stay gated behind `TENANTATLAS_ENABLE_HEAVY_GOVERNANCE_SCHEDULE=1` and `TENANTATLAS_ENABLE_BROWSER_SCHEDULE=1` - the remaining rollout evidence task is capturing the live Gitea run set this PR enables: PR Fast Feedback, `dev` Confidence, manual and scheduled Heavy Governance, and manual and scheduled Browser runs Co-authored-by: Ahmed Darrazi <ahmed.darrazi@live.de> Reviewed-on: #243
98 lines
2.3 KiB
Bash
Executable File
98 lines
2.3 KiB
Bash
Executable File
#!/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
|
|
WORKFLOW_ID=""
|
|
TRIGGER_CLASS=""
|
|
|
|
copy_heavy_baseline_artifacts() {
|
|
local artifact_root="${APP_DIR}/storage/logs/test-lanes"
|
|
local suffix
|
|
|
|
for suffix in junit.xml summary.md budget.json report.json profile.txt; 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"
|
|
;;
|
|
confidence)
|
|
COMPOSER_SCRIPT="test:confidence"
|
|
;;
|
|
browser)
|
|
COMPOSER_SCRIPT="test:browser"
|
|
;;
|
|
heavy-governance|heavy)
|
|
COMPOSER_SCRIPT="test:heavy"
|
|
;;
|
|
profiling|profile)
|
|
COMPOSER_SCRIPT="test:profile"
|
|
;;
|
|
junit)
|
|
COMPOSER_SCRIPT="test:junit"
|
|
;;
|
|
*)
|
|
echo "Unknown test lane: ${LANE}" >&2
|
|
exit 1
|
|
;;
|
|
esac
|
|
|
|
shift || true
|
|
|
|
remaining_args=()
|
|
|
|
for arg in "$@"; do
|
|
if [[ "${arg}" == "--capture-baseline" ]]; then
|
|
CAPTURE_BASELINE=true
|
|
continue
|
|
fi
|
|
|
|
if [[ "${arg}" == --workflow-id=* ]]; then
|
|
WORKFLOW_ID="${arg#--workflow-id=}"
|
|
continue
|
|
fi
|
|
|
|
if [[ "${arg}" == --trigger-class=* ]]; then
|
|
TRIGGER_CLASS="${arg#--trigger-class=}"
|
|
continue
|
|
fi
|
|
|
|
remaining_args+=("${arg}")
|
|
done
|
|
|
|
if [[ "${CAPTURE_BASELINE}" == true && "${LANE}" != "heavy-governance" && "${LANE}" != "heavy" ]]; then
|
|
echo "--capture-baseline is only supported for heavy-governance" >&2
|
|
exit 1
|
|
fi
|
|
|
|
if [[ -n "${WORKFLOW_ID}" ]]; then
|
|
export TENANTATLAS_CI_WORKFLOW_ID="${WORKFLOW_ID}"
|
|
fi
|
|
|
|
if [[ -n "${TRIGGER_CLASS}" ]]; then
|
|
export TENANTATLAS_CI_TRIGGER_CLASS="${TRIGGER_CLASS}"
|
|
fi
|
|
|
|
cd "${APP_DIR}"
|
|
|
|
if [[ ${#remaining_args[@]} -gt 0 ]]; then
|
|
./vendor/bin/sail composer run --timeout=0 "${COMPOSER_SCRIPT}" -- "${remaining_args[@]}"
|
|
else
|
|
./vendor/bin/sail composer run --timeout=0 "${COMPOSER_SCRIPT}"
|
|
fi
|
|
|
|
if [[ "${CAPTURE_BASELINE}" == true ]]; then
|
|
copy_heavy_baseline_artifacts
|
|
fi |