Skip to content

Nightly (E2E · Kafka · chaos) #51

Nightly (E2E · Kafka · chaos)

Nightly (E2E · Kafka · chaos) #51

Workflow file for this run

name: Nightly (E2E · Kafka · chaos)
# Heavy integration suites kept out of the fast PR path. The e2e setup files
# (tests/e2e/setup/*) auto-provision Redis/Kafka via Docker on the runner.
on:
schedule:
- cron: "0 2 * * *" # daily 02:00 UTC
workflow_dispatch:
permissions:
contents: read
jobs:
e2e-bullmq:
name: E2E — BullMQ / Redis
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: actions/setup-node@v7
with:
node-version: "22"
cache: "npm"
- run: npm ci
- name: E2E (BullMQ/Redis)
run: npm run test:e2e
env:
REDIS_URL: redis://localhost:6379
AGENT_IDS: test-agent
- name: Security E2E (firewall · JWT · channel signing)
run: npm run test:e2e:security
env:
REDIS_URL: redis://localhost:6379
AGENT_IDS: test-agent
e2e-kafka:
name: E2E — Kafka
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: actions/setup-node@v7
with:
node-version: "22"
cache: "npm"
- run: npm ci
- name: E2E (Kafka)
run: npm run test:e2e:kafka
env:
KAFKA_BROKERS: localhost:9092
AGENT_IDS: test-agent
chaos:
name: Chaos — broker fault injection (Redis pause/unpause)
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: actions/setup-node@v7
with:
node-version: "22"
cache: "npm"
- run: npm ci
- name: Broker resilience (pause Redis mid-flight, assert zero dropped)
run: npm run test:e2e:chaos
env:
REDIS_URL: redis://localhost:6379
AGENT_IDS: test-agent
mutation:
name: Mutation testing (domain layer — Stryker)
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: actions/setup-node@v7
with:
node-version: "22"
cache: "npm"
- run: npm ci
- name: Stryker mutation (break < 85% domain score)
run: npm run test:mutation
- name: Upload mutation HTML report
uses: actions/upload-artifact@v7
if: always()
with:
name: mutation-report
path: reports/mutation/
bench:
name: Micro-benchmarks (perf baseline)
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: actions/setup-node@v7
with:
node-version: "22"
cache: "npm"
- run: npm ci
- run: npm run bench