Introduces a headless chaos monkey test that drives the email repository through 30 rounds of random IMAP/SMTP operations against a live Stalwart instance to surface crashes and data-corruption bugs. - test/backend/chaos_monkey_test.dart: random sync, send, flag, delete, and flush operations; seed logged for reproducibility (CHAOS_SEED env) - ci/main.go: ChaosMonkeyBackend Dagger function (same pattern as TestBackend) - Taskfile.yml: chaos-monkey-backend task - .forgejo/workflows/chaos-monkey.yml: daily cron at 03:00 UTC + workflow_dispatch Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
21 lines
469 B
YAML
21 lines
469 B
YAML
name: Chaos Monkey
|
|
|
|
on:
|
|
schedule:
|
|
- cron: '0 3 * * *'
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
chaos-monkey-backend:
|
|
name: Chaos Monkey (backend)
|
|
runs-on: ubuntu-latest
|
|
timeout-minutes: 60
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- name: Setup Dagger Remote Engine
|
|
env:
|
|
SOPS_AGE_KEY: ${{ secrets.SOPS_AGE_KEY }}
|
|
run: scripts/setup_dagger_remote.sh
|
|
- name: Run backend chaos monkey
|
|
run: task chaos-monkey-backend
|