ci(infra): Gitea Actions CI pipeline + full-stack compose smoke (closes #30) #50

Merged
not merged 12 commits from ci/30-gitea-actions-ci into main 2026-06-25 12:34:44 +00:00
3 changed files with 18 additions and 14 deletions
Showing only changes of commit 88de47d1bb - Show all commits

View File

@@ -47,7 +47,7 @@ unit:
## smoke: compose up (wait for healthy), curl /health, then tear down ## smoke: compose up (wait for healthy), curl /health, then tear down
smoke: smoke:
docker compose -f $(COMPOSE) up -d --build --wait docker compose -f $(COMPOSE) up -d --build --wait --wait-timeout 300
bash -c 'curl -fsS $(HEALTH_URL); rc=$$?; docker compose -f $(COMPOSE) down --volumes; exit $$rc' bash -c 'curl -fsS $(HEALTH_URL); rc=$$?; docker compose -f $(COMPOSE) down --volumes; exit $$rc'
## down: stop and remove the local stack ## down: stop and remove the local stack

View File

@@ -33,10 +33,13 @@ services:
volumes: volumes:
- oz-db:/var/lib/postgresql/data - oz-db:/var/lib/postgresql/data
healthcheck: healthcheck:
test: ["CMD-SHELL", "pg_isready -U openzaak -d openzaak"] # pg_isready only checks TCP; the second clause verifies PostGIS is installed
# so oz-init migrations can safely start (avoids race on cold container start).
test: ["CMD-SHELL", "pg_isready -U openzaak -d openzaak && psql -U openzaak -d openzaak -c 'SELECT PostGIS_Version();' -q 2>/dev/null"]
interval: 5s interval: 5s
timeout: 3s timeout: 5s
retries: 10 retries: 30
start_period: 15s
networks: [cg] networks: [cg]
oz-redis: oz-redis:
@@ -66,7 +69,7 @@ services:
RUN_SETUP_CONFIG: "true" RUN_SETUP_CONFIG: "true"
command: /setup_configuration.sh command: /setup_configuration.sh
volumes: volumes:
- ./openzaak/setup_configuration:/app/setup_configuration:ro,z - ./openzaak/setup_configuration:/app/setup_configuration:ro
depends_on: depends_on:
oz-db: oz-db:
condition: service_healthy condition: service_healthy
@@ -142,7 +145,7 @@ services:
RUN_SETUP_CONFIG: "true" RUN_SETUP_CONFIG: "true"
command: /setup_configuration.sh command: /setup_configuration.sh
volumes: volumes:
- ./opennotificaties/setup_configuration:/app/setup_configuration:ro,z - ./opennotificaties/setup_configuration:/app/setup_configuration:ro
depends_on: depends_on:
nrc-db: nrc-db:
condition: service_healthy condition: service_healthy
@@ -191,7 +194,7 @@ services:
ports: ports:
- "8180:8080" - "8180:8080"
volumes: volumes:
- ./keycloak/realms:/opt/keycloak/data/import:ro,z - ./keycloak/realms:/opt/keycloak/data/import:ro
networks: [cg] networks: [cg]
# ── Flowable (S-03) ────────────────────────────────────────────────────── # ── Flowable (S-03) ──────────────────────────────────────────────────────
@@ -228,7 +231,7 @@ services:
image: docker.io/curlimages/curl:latest image: docker.io/curlimages/curl:latest
restart: "no" restart: "no"
volumes: volumes:
- ../workflows/registratie.bpmn:/work/registratie.bpmn:ro,z - ../workflows/registratie.bpmn:/work/registratie.bpmn:ro
command: command:
- sh - sh
- -c - -c

View File

@@ -18,10 +18,13 @@ services:
volumes: volumes:
- oz-db:/var/lib/postgresql/data - oz-db:/var/lib/postgresql/data
healthcheck: healthcheck:
test: ["CMD-SHELL", "pg_isready -U openzaak -d openzaak"] # pg_isready only checks TCP; the second clause verifies PostGIS is installed
# so oz-init migrations can safely start (avoids race on cold container start).
test: ["CMD-SHELL", "pg_isready -U openzaak -d openzaak && psql -U openzaak -d openzaak -c 'SELECT PostGIS_Version();' -q 2>/dev/null"]
interval: 5s interval: 5s
timeout: 3s timeout: 5s
retries: 10 retries: 30
start_period: 15s
networks: [cg] networks: [cg]
oz-redis: oz-redis:
@@ -53,9 +56,7 @@ services:
RUN_SETUP_CONFIG: "true" RUN_SETUP_CONFIG: "true"
command: /setup_configuration.sh command: /setup_configuration.sh
volumes: volumes:
# :z relabels for SELinux; the dir/file must be world-readable for the - ./setup_configuration:/app/setup_configuration:ro
# container user (rootless Podman uid mapping). See docs/runbooks/openzaak.md.
- ./setup_configuration:/app/setup_configuration:ro,z
depends_on: depends_on:
oz-db: oz-db:
condition: service_healthy condition: service_healthy