Skip to content

Commit 9ce6f46

Browse files
Merge pull request #194 from brownjuly2003-code/fix-post-merge-stand-seeding
fix: E2E and staging stands seed their stores explicitly (post-P0-2)
2 parents a404bfb + 1727566 commit 9ce6f46

3 files changed

Lines changed: 39 additions & 3 deletions

File tree

‎.github/workflows/e2e.yml‎

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -105,9 +105,10 @@ jobs:
105105
- name: Run E2E tests
106106
run: pytest tests/e2e/ -v --tb=short --timeout=60
107107

108-
# The API seeds ClickHouse only when it boots on the shipped ClickHouse
109-
# serving profile (config/serving.yaml), so rows in agentflow.orders_v2
110-
# prove the E2E stack exercised the real engine, not a DuckDB fallback.
108+
# The one-shot serving-init service provisions and seeds ClickHouse
109+
# before the API starts (the API itself no longer touches the store on
110+
# boot — audit P0-2), so rows in agentflow.orders_v2 prove the E2E stack
111+
# exercised the real engine, not a DuckDB fallback.
111112
- name: Verify ClickHouse serving path
112113
run: |
113114
orders=$(docker compose -f docker-compose.e2e.yml exec -T clickhouse \

‎docker-compose.e2e.yml‎

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,32 @@ services:
8686
cpus: "0.50"
8787
memory: 512M
8888

89+
serving-init:
90+
# The API stopped provisioning and seeding the serving store on boot
91+
# (audit P0-2), so the stack lays the schema and the documented demo
92+
# entities down itself before the API starts — the same one-shot job
93+
# docker-compose.prod.yml runs, against the in-stack ClickHouse the E2E
94+
# smoke suite queries.
95+
build:
96+
context: .
97+
dockerfile: Dockerfile.api
98+
depends_on:
99+
clickhouse:
100+
condition: service_healthy
101+
environment:
102+
AGENTFLOW_SERVING_CONFIG: /app/config/serving.yaml
103+
DUCKDB_PATH: /app/data/agentflow.duckdb
104+
CLICKHOUSE_HOST: clickhouse
105+
CLICKHOUSE_PORT: 8123
106+
CLICKHOUSE_DATABASE: agentflow
107+
CLICKHOUSE_USER: default
108+
CLICKHOUSE_PASSWORD: ""
109+
command: ["python", "-m", "src.serving.provision", "--schema", "--seed"]
110+
restart: "no"
111+
volumes:
112+
- agentflow-api-data:/app/data
113+
- ./config:/app/config:ro
114+
89115
agentflow-api:
90116
build:
91117
context: .
@@ -99,6 +125,8 @@ services:
99125
condition: service_healthy
100126
clickhouse:
101127
condition: service_healthy
128+
serving-init:
129+
condition: service_completed_successfully
102130
ports:
103131
- "8000:8000"
104132
environment:

‎k8s/staging/values-staging.yaml‎

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,13 @@ config:
4545
extraEnv:
4646
- name: AGENTFLOW_WEBHOOKS_FILE
4747
value: /data/e2e-webhooks.yaml
48+
# Staging is an ephemeral kind cluster serving from the per-pod embedded
49+
# DuckDB, and the smoke tests query the documented demo entities
50+
# (ORD-20260404-1001 …). Boot seeding is the explicit opt-in that audit
51+
# P0-2 left for exactly this profile — off by default everywhere else, so
52+
# no real store ever receives demo rows for merely being empty.
53+
- name: AGENTFLOW_SEED_ON_BOOT
54+
value: "true"
4855

4956
# Staging is an ephemeral kind cluster torn down after each CI run. The
5057
# hashes below correspond to the same plaintext fixtures committed in

0 commit comments

Comments
 (0)