GeoIntel release gates / Compile, test, contracts and builds (push) Successful in 1m49s
GeoIntel release gates / Python and npm vulnerability policy (push) Successful in 21s
GeoIntel release gates / Production AI image, SBOM and container scan (push) Successful in 5m39s
GeoIntel release gates / Deploy exact gated revision to Unraid (push) Failing after 58m43s
69 lines
1.8 KiB
Markdown
69 lines
1.8 KiB
Markdown
# CI/CD Specification
|
|
|
|
## Doel
|
|
De CI/CD-pipeline moet elke wijziging snel valideren zonder zware AI- of GIS-jobs verplicht te maken. Zware checks krijgen aparte profielen.
|
|
|
|
## Checkprofielen
|
|
|
|
### `quick`
|
|
Moet lokaal binnen enkele minuten kunnen draaien.
|
|
|
|
- Backend import check.
|
|
- Python lint/type smoke.
|
|
- Frontend install/build smoke.
|
|
- API schema consistency check.
|
|
- Geen ontbrekende verplichte documentatie.
|
|
|
|
### `integration`
|
|
Draait met Docker Compose.
|
|
|
|
- PostgreSQL/PostGIS start.
|
|
- Redis start.
|
|
- Backend start.
|
|
- Health endpoint geeft OK.
|
|
- Alembic migrations kunnen naar laatste versie.
|
|
- Test fixtures kunnen worden ingeladen.
|
|
|
|
### `geospatial`
|
|
Draait alleen wanneer GDAL/Rasterio/GeoPandas beschikbaar zijn.
|
|
|
|
- Raster metadata fixture.
|
|
- Vector fixture import.
|
|
- CRS-transformatie fixture.
|
|
- Clip operatie fixture.
|
|
|
|
### `ai-light`
|
|
Draait zonder groot model.
|
|
|
|
- Model registry laadt.
|
|
- Detection pipeline accepteert dummy model adapter.
|
|
- Outputcontract voor detections klopt.
|
|
- GeoJSON exportcontract klopt.
|
|
|
|
### `ai-full`
|
|
Optioneel en niet verplicht voor elke commit.
|
|
|
|
- YOLO/SAM echte modelrun op kleine fixture.
|
|
- Output wordt geprojecteerd naar kaartcoördinaten.
|
|
- QA/QC tegen referentievector draait.
|
|
|
|
## Verplichte CI-stappen voor M1-builds
|
|
1. `scripts/check_repo_structure.sh`
|
|
2. `scripts/smoke_backend_import.sh`
|
|
3. `scripts/smoke_contracts.py`
|
|
4. `scripts/smoke_docs.py`
|
|
|
|
## Verplichte CI-stappen zodra code bestaat
|
|
1. `pytest backend/tests`
|
|
2. `npm run typecheck`
|
|
3. `npm run build`
|
|
4. `alembic upgrade head`
|
|
5. `python scripts/validate_fixtures.py`
|
|
|
|
## Build failure policy
|
|
Een build mag alleen als groen worden beschouwd wanneer:
|
|
|
|
- Alle quick checks slagen.
|
|
- Bekende failures expliciet in `docs/KNOWN_LIMITATIONS_M3.md` of nieuwere limitation doc staan.
|
|
- Geen nieuwe regressies zonder vermelding in changelog.
|