mirror of
https://github.com/katanemo/plano.git
synced 2026-06-11 15:05:14 +02:00
ci: add zero-config smoke test for planoai up with no args
The existing native-smoke-test always passes a config file, so the `synthesize_default_config` branch in `cli/planoai/main.py` is never exercised in CI. That branch was the source of a recent UnboundLocalError that only reproduced when invoking `planoai up` with no args in a directory without a `plano.yaml` (fixed in #916). Add a follow-up step in the same job that runs `planoai up` from an empty temp directory, asserts `~/.plano/default_config.yaml` is written, performs a healthz check, and shuts down. Reuses the binaries already built earlier in the job to keep CI time flat. Made-with: Cursor
This commit is contained in:
parent
0297b10163
commit
fe5371ac56
1 changed files with 31 additions and 0 deletions
31
.github/workflows/ci.yml
vendored
31
.github/workflows/ci.yml
vendored
|
|
@ -107,6 +107,37 @@ jobs:
|
|||
if: always()
|
||||
run: planoai down || true
|
||||
|
||||
# ── Zero-config path: `planoai up` with no args, no plano.yaml in cwd.
|
||||
# Exercises the synthesize_default_config branch in cli/planoai/main.py
|
||||
# which is otherwise never hit by the smoke test above.
|
||||
- name: Zero-config smoke test
|
||||
env:
|
||||
OPENAI_API_KEY: test-key-not-used
|
||||
run: |
|
||||
empty_dir="$(mktemp -d)"
|
||||
cd "$empty_dir"
|
||||
test ! -f plano.yaml
|
||||
planoai up
|
||||
test -f "$HOME/.plano/default_config.yaml"
|
||||
|
||||
- name: Zero-config health check
|
||||
run: |
|
||||
for i in $(seq 1 30); do
|
||||
if curl -sf http://localhost:12000/healthz > /dev/null 2>&1; then
|
||||
echo "Zero-config health check passed"
|
||||
exit 0
|
||||
fi
|
||||
sleep 1
|
||||
done
|
||||
echo "Zero-config health check failed after 30s"
|
||||
cat ~/.plano/run/logs/envoy.log || true
|
||||
cat ~/.plano/run/logs/brightstaff.log || true
|
||||
exit 1
|
||||
|
||||
- name: Stop plano (zero-config)
|
||||
if: always()
|
||||
run: planoai down || true
|
||||
|
||||
# ──────────────────────────────────────────────
|
||||
# Single Docker build — shared by all downstream jobs
|
||||
# ──────────────────────────────────────────────
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue