Adds a complete pytest system test suite for the HoneyBiscuitWorkshop
CI/CD system:
- runner.sh: orchestrates build, Docker image creation, and test
execution
- Dockerfile: Arch Linux-based test image with Python venv
- conftest.py: shared fixtures (baker_bin, run_baker, work_dir, llm_env)
- probes/: environment probes for checking users, files, packages,
processes
- llm/: LLM-based log judgment system with caching for semantic test
evaluation
- fixtures/: test configs and scripts for prebake, bake, and finalize
stages
- test_prebake.py, test_bake.py, test_finalize.py: test suites for each
pipeline stage
Also refactors finalize.yml.tmpl notification config to use a templates
system.
- Rename types/build_status.rs to types/buildstatus.rs
- Rename StageInfo.sub_stage field to substage for consistency
- Move notification logic from finalize to dedicated notify module
- Remove notification module from finalize (moved to notify)
- Add notify module with event queuing, retry, and priority scheduling
- Add exponential backoff for temporary notification failures
- Implement plugin filtering by name list during registration
- Add fetch_plugins helper for batch plugin download
- Update finalize plugin registration to accept optional plugin filter
- Fix finalize config template indentation for notification policy
- Move all YAML templates to templates/ directory