ci(release): reuse live test Docker image

This commit is contained in:
Peter Steinberger
2026-04-29 05:25:23 +01:00
parent aa84b738b6
commit 806a0119f3
3 changed files with 279 additions and 32 deletions

View File

@@ -52,6 +52,14 @@ The native live media shards run in
live suites on normal Blacksmith runners, because container jobs are the wrong
place to launch nested Docker tests.
Docker-backed live model/backend shards use a separate shared
`ghcr.io/openclaw/openclaw-live-test:<sha>` image per selected commit. The live
release workflow builds and pushes that image once, then the Docker live model,
gateway, CLI backend, ACP bind, and Codex harness shards run with
`OPENCLAW_SKIP_DOCKER_BUILD=1`. If those shards rebuild the full source Docker
target independently, the release run is misconfigured and will waste the wall
clock on duplicate image builds.
`OpenClaw Release Checks` uses the trusted workflow ref to resolve the selected
ref once into a `release-package-under-test` tarball, then passes that artifact
to both the live/E2E release-path Docker workflow and the package acceptance
@@ -216,9 +224,12 @@ manual dispatch; it fans out the mock parity gate, live Matrix lane, and live
Telegram and Discord lanes as parallel jobs. The live jobs use the
`qa-live-shared` environment, and Telegram/Discord use Convex leases. Release
checks run Matrix and Telegram live transport lanes with the deterministic mock
provider so the channel contract is isolated from live model latency; provider
connectivity is covered by the separate live model, native provider, and Docker
provider suites. Matrix uses `--profile fast` for scheduled and release gates,
provider and mock-qualified models (`mock-openai/gpt-5.5` and
`mock-openai/gpt-5.5-alt`) so the channel contract is isolated from live model
latency and normal provider-plugin startup. The live transport gateway also
disables memory search because QA parity covers memory behavior separately;
provider connectivity is covered by the separate live model, native provider,
and Docker provider suites. Matrix uses `--profile fast` for scheduled and release gates,
adding `--fail-fast` only when the checked-out CLI supports it. The CLI default
and manual workflow input remain `all`; manual `matrix_profile=all`
dispatch always shards full Matrix coverage into `transport`, `media`,

View File

@@ -110,7 +110,17 @@ parallel jobs. Scheduled QA and release checks pass Matrix `--profile fast`
explicitly, while the Matrix CLI and manual workflow input default remain
`all`; manual dispatch can shard `all` into `transport`, `media`, `e2ee-smoke`,
`e2ee-deep`, and `e2ee-cli` jobs. `OpenClaw Release Checks` runs parity plus
the fast Matrix and Telegram lanes before release approval.
the fast Matrix and Telegram lanes before release approval, using
`mock-openai/gpt-5.5` for release transport checks so they stay deterministic
and avoid normal provider-plugin startup. These live transport gateways disable
memory search; memory behavior stays covered by the QA parity suites.
Full release live media shards use
`ghcr.io/openclaw/openclaw-live-media-runner:ubuntu-24.04`, which already has
`ffmpeg` and `ffprobe`. Docker live model/backend shards use the shared
`ghcr.io/openclaw/openclaw-live-test:<sha>` image built once per selected
commit, then pull it with `OPENCLAW_SKIP_DOCKER_BUILD=1` instead of rebuilding
inside every shard.
- `pnpm openclaw qa suite`
- Runs repo-backed QA scenarios directly on the host.