4b6817381b
Benchmark image — build + push to ECR (any adapter) / build + push (push) Waiting to run
CI / quality (ubuntu-latest) (push) Waiting to run
CI / test (tools-runtime) (push) Waiting to run
CI / test (e2e-general) (push) Waiting to run
CI / test (cli-runtime) (push) Waiting to run
CI / test (e2e-provider-and-openclaw) (push) Waiting to run
CI / test (integrations-and-misc) (push) Waiting to run
CI / coverage-report (push) Blocked by required conditions
CI / test-kubernetes (push) Waiting to run
CI / should-run-thorough (push) Waiting to run
CI / test-thorough (cloudwatch-demo) (push) Blocked by required conditions
CI / test-thorough (flink-ecs) (push) Blocked by required conditions
CI / test-thorough (upstream-lambda) (push) Blocked by required conditions
CI / test-thorough (prefect-ecs-fargate) (push) Blocked by required conditions
CodeQL / Analyze (python) (push) Waiting to run
Release / build-binaries (zip, opensre.exe, onefile, windows-latest, windows-x64) (push) Blocked by required conditions
Release / publish-release (push) Blocked by required conditions
Release / publish-main-release (push) Blocked by required conditions
Release / prepare (push) Waiting to run
Release / verify (push) Blocked by required conditions
Release / build-python-dist (push) Blocked by required conditions
Release / build-binaries (tar.gz, opensre, onedir, macos-15-intel, darwin-x64) (push) Blocked by required conditions
Release / build-binaries (tar.gz, opensre, onedir, macos-latest, darwin-arm64) (push) Blocked by required conditions
Release / build-binaries (tar.gz, opensre, onedir, ubuntu-22.04, linux-x64) (push) Blocked by required conditions
Release / build-binaries (tar.gz, opensre, onedir, ubuntu-22.04-arm, linux-arm64) (push) Blocked by required conditions
Synthetic Deterministic Tests / Synthetic offline (deterministic) (push) Waiting to run
Interactive Shell Live (PR + post-merge) / turn-checks (no-LLM) (push) Waiting to run
Interactive Shell Live (PR + post-merge) / turn-live shard ${{ matrix.shard_index }} (push) Waiting to run
CI (OpenClaw E2E) / openclaw test (push) Has been cancelled
79 lines
2.5 KiB
YAML
79 lines
2.5 KiB
YAML
# Local RabbitMQ stack for integration testing and screen-video recording.
|
|
#
|
|
# Brings up:
|
|
# - a single-node broker with the management plugin enabled (port 15672)
|
|
# - a small publisher that posts to `orders.process` at a steady rate
|
|
# - a deliberately-slow consumer so a backlog builds up within seconds
|
|
#
|
|
# Run:
|
|
# make rabbitmq-local-up
|
|
# # wait ~30s for the backlog to grow, then exercise the tools:
|
|
# make test-rabbitmq-real
|
|
#
|
|
# Tear down:
|
|
# make rabbitmq-local-down
|
|
|
|
services:
|
|
rabbitmq:
|
|
image: rabbitmq:3.13-management
|
|
container_name: opensre-rabbitmq
|
|
ports:
|
|
- "5672:5672" # AMQP
|
|
- "15672:15672" # Management HTTP API
|
|
environment:
|
|
RABBITMQ_DEFAULT_USER: sre_admin
|
|
RABBITMQ_DEFAULT_PASS: sre_password
|
|
RABBITMQ_DEFAULT_VHOST: /orders
|
|
healthcheck:
|
|
test: ["CMD", "rabbitmq-diagnostics", "-q", "ping"]
|
|
interval: 5s
|
|
timeout: 5s
|
|
retries: 12
|
|
|
|
publisher:
|
|
image: python:3.13-slim
|
|
container_name: opensre-rabbitmq-publisher
|
|
depends_on:
|
|
rabbitmq:
|
|
condition: service_healthy
|
|
environment:
|
|
RABBITMQ_URL: amqp://sre_admin:sre_password@rabbitmq:5672/%2forders
|
|
command: >
|
|
sh -c "pip install --quiet pika==1.3.2 &&
|
|
python -c \"
|
|
import pika, time, os
|
|
params = pika.URLParameters(os.environ['RABBITMQ_URL'])
|
|
conn = pika.BlockingConnection(params)
|
|
ch = conn.channel()
|
|
ch.queue_declare(queue='orders.process', durable=True)
|
|
i = 0
|
|
while True:
|
|
ch.basic_publish(exchange='', routing_key='orders.process', body=f'msg-{i}'.encode())
|
|
i += 1
|
|
time.sleep(0.02) # ~50 msg/s publish rate
|
|
\""
|
|
|
|
slow_consumer:
|
|
image: python:3.13-slim
|
|
container_name: opensre-rabbitmq-slow-consumer
|
|
depends_on:
|
|
rabbitmq:
|
|
condition: service_healthy
|
|
environment:
|
|
RABBITMQ_URL: amqp://sre_admin:sre_password@rabbitmq:5672/%2forders
|
|
command: >
|
|
sh -c "pip install --quiet pika==1.3.2 &&
|
|
python -c \"
|
|
import pika, time, os
|
|
params = pika.URLParameters(os.environ['RABBITMQ_URL'])
|
|
conn = pika.BlockingConnection(params)
|
|
ch = conn.channel()
|
|
ch.queue_declare(queue='orders.process', durable=True)
|
|
ch.basic_qos(prefetch_count=1)
|
|
def on_msg(ch_, method, _props, _body):
|
|
time.sleep(0.2) # 5 msg/s consume rate -> guaranteed backlog
|
|
ch_.basic_ack(method.delivery_tag)
|
|
ch.basic_consume(queue='orders.process', on_message_callback=on_msg)
|
|
ch.start_consuming()
|
|
\""
|