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
+10 -5
View File
@@ -79,6 +79,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"
@@ -123,11 +124,11 @@ PY
curl -fsS "${BASE_URL%/}/api/v1/projects/${project_id}/datasets" > "${TMP_DIR}/datasets.json"
require_json_data "${TMP_DIR}/datasets.json"
"${PYTHON_BIN}" - "${TMP_DIR}/datasets.json" "${candidate_dataset_id}" "${reference_dataset_id}" <<'PY'
"${PYTHON_BIN}" - "${TMP_DIR}/datasets.json" "${candidate_dataset_id}" "${reference_dataset_id}" "${raster_dataset_id}" <<'PY'
import json
import sys
path, candidate_id, reference_id = sys.argv[1], sys.argv[2], sys.argv[3]
path, candidate_id, reference_id, raster_id = sys.argv[1], sys.argv[2], sys.argv[3], sys.argv[4]
with open(path, "r", encoding="utf-8") as handle:
payload = json.load(handle)
items = payload["data"]["items"]
@@ -136,10 +137,14 @@ if candidate_id not in ids:
raise SystemExit("Candidate fixture dataset is missing from default workbench dataset list")
if reference_id not in ids:
raise SystemExit("Reference fixture dataset is missing from default workbench dataset list")
if ids[candidate_id].get("status") != "ready" or ids[reference_id].get("status") != "ready":
raise SystemExit("Expected 2/2 ready demo datasets")
if raster_id not in ids:
raise SystemExit("Raster fixture dataset is missing from default workbench dataset list")
if ids[candidate_id].get("status") != "ready" or ids[reference_id].get("status") != "ready" or ids[raster_id].get("status") != "ready":
raise SystemExit("Expected 3/3 ready demo datasets")
if ids[reference_id].get("dataset_role") != "reference":
raise SystemExit("Default workbench reference dataset is not marked as reference")
if ids[raster_id].get("dataset_type") != "raster" or ids[raster_id].get("source_name") != "fixture":
raise SystemExit("Default workbench raster fixture lost its raster/source metadata")
PY
curl -fsS "${BASE_URL%/}/api/v1/projects/${project_id}/quality-checks" > "${TMP_DIR}/quality_checks.json"
@@ -167,5 +172,5 @@ PY
echo "Workbench default state verification passed"
echo "Project: GeoIntel Demo - Building QA"
echo "Area: Demo AOI - Geel buildings"
echo "Datasets: 2/2 ready"
echo "Datasets: 3/3 ready"
echo "QA/QC: seeded check is available"