deploy slice B + F: deploy/ artifacts + image-build + container smoke CI + tag-push publish #26

Merged
alee merged 11 commits from deploy-b/packaging-ci into docs/deployment-topology-spec 2026-07-06 19:53:33 +00:00
Showing only changes of commit 6be53af5f3 - Show all commits

View File

@@ -315,3 +315,96 @@ jobs:
env:
RUTSTER_ALLINONE_IMAGE: rutster-allinone:smoke
RUTSTER_ALLINONE_PORT: "18443"
# deploy-B §9 compose smoke — T2 four-service compose stack boots + all
# services healthy + Caddy TLS /healthz + /readyz. Lighter than the
# all-in-one smoke (which already proved the WS path) — its job is the
# orchestrator shape + the network_mode: "service:engine" brain->engine tap
# posture across the four services.
smoke-compose:
name: smoke (T2 compose four-service)
runs-on: ubuntu-latest
needs: [image-build]
steps:
- uses: actions/checkout@v4
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
# Rebuild all three first-party images from the warm GHA cache
# populated by image-build. Valkey is upstream (no rebuild needed).
- name: Rebuild rutster-edge:smoke
uses: docker/build-push-action@v5
with:
context: .
file: deploy/Dockerfile
target: rutster-edge
tags: rutster-edge:smoke
push: false
load: true
cache-from: type=gha,scope=rutster-edge
- name: Rebuild rutster-engine:smoke
uses: docker/build-push-action@v5
with:
context: .
file: deploy/Dockerfile
target: rutster-engine
tags: rutster-engine:smoke
push: false
load: true
cache-from: type=gha,scope=rutster-engine
- name: Rebuild rutster-brain:smoke
uses: docker/build-push-action@v5
with:
context: .
file: deploy/Dockerfile
target: rutster-brain
tags: rutster-brain:smoke
push: false
load: true
cache-from: type=gha,scope=rutster-brain
# jq is pre-installed on ubuntu-latest GHA runners.
- name: Run compose smoke (deploy/smoke/compose_smoke.sh)
run: bash deploy/smoke/compose_smoke.sh
env:
RUTSTER_IMAGES_TAG: smoke
# deploy-B §9 + spec §3.2 + TLS brief §5 risk 1: Caddy config-reload
# during a live simulated call, asserting zero frame drops. The
# stream_close_delay 24h mitigation in deploy/Caddyfile is the load-
# bearing fixture; caddy #6420 / #7222 are open upstream bugs — the
# smoke is "don't trust untested" made CI-regressed.
smoke-reload:
name: smoke (caddy reload during live call, zero drops)
runs-on: ubuntu-latest
needs: [smoke] # reuses the rutster-allinone:smoke image, warm cache
steps:
- uses: actions/checkout@v4
- name: Set up Python (stdlib-only; no pip)
uses: actions/setup-python@v5
with:
python-version: "3.x"
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Rebuild rutster-allinone:smoke (warm cache)
uses: docker/build-push-action@v5
with:
context: .
file: deploy/Dockerfile
target: rutster-allinone
tags: rutster-allinone:smoke
push: false
load: true
cache-from: type=gha,scope=rutster-allinone
- name: Run reload-during-call smoke (deploy/smoke/reload_during_call.py)
run: python3 deploy/smoke/reload_during_call.py
env:
RUTSTER_ALLINONE_IMAGE: rutster-allinone:smoke
RUTSTER_ALLINONE_PORT: "18444"