Add demo raster fixture workflow
GeoIntel CI / docs-smoke (push) Has been cancelled
GeoIntel CI / contract-smoke (push) Has been cancelled

This commit is contained in:
Codex
2026-06-23 00:12:20 +02:00
parent 4ef2d82cfa
commit ca730edc1c
13 changed files with 208 additions and 14 deletions
+11 -4
View File
@@ -67,6 +67,7 @@ project_id="$(json_field "${TMP_DIR}/demo.json" "data.project_id")"
area_id="$(json_field "${TMP_DIR}/demo.json" "data.area_id")"
candidate_dataset_id="$(json_field "${TMP_DIR}/demo.json" "data.candidate_dataset_id")"
reference_dataset_id="$(json_field "${TMP_DIR}/demo.json" "data.reference_dataset_id")"
raster_dataset_id="$(json_field "${TMP_DIR}/demo.json" "data.raster_dataset_id")"
quality_check_id="$(json_field "${TMP_DIR}/demo.json" "data.quality_check_id")"
curl -fsS "${BASE_URL%/}/api/v1/projects" > "${TMP_DIR}/projects.json"
@@ -87,12 +88,13 @@ require_json_data "${TMP_DIR}/quality_checks.json"
"${area_id}" \
"${candidate_dataset_id}" \
"${reference_dataset_id}" \
"${raster_dataset_id}" \
"${quality_check_id}" <<'PY'
import json
import sys
projects_path, areas_path, datasets_path, quality_path = sys.argv[1:5]
project_id, area_id, candidate_id, reference_id, quality_check_id = sys.argv[5:10]
project_id, area_id, candidate_id, reference_id, raster_id, quality_check_id = sys.argv[5:11]
def load(path):
with open(path, "r", encoding="utf-8") as handle:
@@ -116,14 +118,19 @@ if not area.get("geometry"):
dataset_ids = {item["id"]: item for item in datasets}
candidate = dataset_ids.get(candidate_id)
reference = dataset_ids.get(reference_id)
raster = dataset_ids.get(raster_id)
if not candidate:
raise SystemExit("candidate dataset backing state is missing")
if not reference:
raise SystemExit("reference dataset backing state is missing")
if candidate.get("status") != "ready" or reference.get("status") != "ready":
raise SystemExit("Dataset selection backing state is not 2/2 ready")
if not raster:
raise SystemExit("raster dataset backing state is missing")
if candidate.get("status") != "ready" or reference.get("status") != "ready" or raster.get("status") != "ready":
raise SystemExit("Dataset selection backing state is not 3/3 ready")
if reference.get("dataset_role") != "reference":
raise SystemExit("reference dataset backing state lost its reference role")
if raster.get("dataset_type") != "raster" or raster.get("source_name") != "fixture":
raise SystemExit("raster dataset backing state lost its fixture raster metadata")
quality_check = next((item for item in checks if item["id"] == quality_check_id), None)
if not quality_check or quality_check.get("status") != "ok":
@@ -158,6 +165,6 @@ PY
echo "Workbench interaction backing-state verification passed"
echo "Project switch: GeoIntel Demo - Building QA"
echo "Area selection: Demo AOI - Geel buildings"
echo "Dataset selection: candidate dataset and reference dataset ready"
echo "Dataset selection: candidate, reference and raster fixture datasets ready"
echo "QA refresh: seeded metrics available"
echo "Export refresh: metadata export listed"