Retro improvements from the v1.14.0 release:
- release-image-test.sh gains a `probe` scenario (part of `all`) that
runs the two container-level checks done by hand during v1.14.0:
OPEN_NOTEBOOK_WORKER_MAX_TASKS reaching the in-image worker (#1141's
supervisord `sh -c` expansion), and the worker surviving startup with
HTTP_PROXY set while the user's NO_PROXY value is preserved (#1160,
internal SurrealDB websocket not tunneled). Self-contained standalone
containers with their own cleanup, so a probe failure can't leak into
the fresh/upgrade scenarios.
- RELEASE_PROCESS.md documents two gotchas the release hit: never leave
the version bump uncommitted on a branch (it leaked into an unrelated
fix PR), and a post-tag fix requires a full re-cut (move tag + rebuild
images), not just a tag nudge, or publication promotes the un-fixed
artifact to v1-latest.
Verified: `release-image-test.sh probe lfnovo/open_notebook:1.14.0`
passes 4/4.
Retro improvements from the v1.13.0 release:
- rc-stack.sh 'up' now docker-pulls lfnovo/open_notebook:<tag> by default so a
same-named local build can't shadow the registry artifact during Phase 6
verification (non-fatal for local-only tags).
- New --with-runtimes flag enables the opt-in heavy engines (Docling +
Crawl4AI) on the RC stack via RC_ENABLE_DOCLING/RC_ENABLE_CRAWL4AI, so the
published image's opt-in install path can be exercised with real data. The
release-test compose defaults these empty, keeping fresh/upgrade tests fast.
- Documented both gotchas (local-tag shadowing; judging opt-in gating on a
clean image vs a dev venv with runtimes installed out-of-band) in
RELEASE_PROCESS.md.
Captures the process designed and executed for v1.11.0 so every future
release reproduces it:
- .github/RELEASE_PROCESS.md v2: changelog audit, risk-based test
matrix (buckets A/B/C), the Docker image gate, fix-loop re-test
policy, CI-based publishing path, communication structure with a
mandatory credits section, retro, and the gotchas that cost
iterations this cycle
- ADR-005: why releases now pass a risk-based confidence process gated
on the real image, with the v1.11.0 evidence (bugs the unit suite
could not catch: SEARCH-index ORDER BY 500, credential clear no-op)
- scripts/release-test/: the harness built during v1.11.0 —
fresh-install + upgrade gate (release-image-test.sh) and the
browsable RC stack with optional dev-data copy (rc-stack.sh), plus
compose/nginx encoding the API_URL, host.docker.internal and
SurrealDB import learnings
- make release-test / release-stack / release-stack-down targets