Initial public release
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
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
This commit is contained in:
@@ -0,0 +1,68 @@
|
||||
# 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.
|
||||
Reference in New Issue
Block a user