stabilize tests
This commit is contained in:
@@ -23,15 +23,22 @@ The DevOps module captures release, deployment, and migration playbooks that kee
|
||||
3. Read the architecture and README for domain context before editing code or docs.
|
||||
4. Coordinate cross-module changes in the main /AGENTS.md description and through the sprint plan.
|
||||
|
||||
## Known Quirks (CI/Test Runner Infrastructure)
|
||||
- **Q1 — PowerShell exit code capture**: `Start-Process -Wait -RedirectStandardOutput` returns null `ExitCode` for `dotnet test`. Use `System.Diagnostics.Process` with `ProcessStartInfo` and `WaitForExit(timeout)` instead.
|
||||
- **Q2 — xUnit v3 output format**: Test output is `Failed: 0, Passed: 8, Skipped: 0, Total: 8`. Parse with `Passed:\s+(\d+)` regex, not the older `Tests succeeded:` format.
|
||||
- **Q3 — xUnit v3 empty projects**: Projects with no `[Fact]`/`[Theory]` methods return exit code 1 (`NO_TESTS`), not 0. Account for this in CI scripts.
|
||||
- **Q6 — MSBuild OOM at high parallelism**: Running >3 concurrent `dotnet test` processes causes out-of-memory (0x5aa). Limit to max 3 concurrent processes. `RestoreDisableParallel=true` is set in `Directory.Build.props`.
|
||||
- **Q7 — Windows Git Bash Docker socket path**: MSYS converts `/var/run/docker.sock` to `C:/var/run/docker.sock`. Use `MSYS_NO_PATHCONV=1` and double-slash `//var/run/docker.sock`.
|
||||
|
||||
## Guardrails
|
||||
- Honour the Aggregation-Only Contract where applicable (see ../../aoc/aggregation-only-contract.md).
|
||||
- Preserve determinism: sort outputs, normalise timestamps (UTC ISO-8601), and avoid machine-specific artefacts.
|
||||
- Keep Offline Kit parity in mind—document air-gapped workflows for any new feature.
|
||||
- Update runbooks/observability assets when operational characteristics change.
|
||||
## Required Reading
|
||||
- `docs/modules/devops/README.md`
|
||||
- `docs/modules/devops/architecture.md`
|
||||
- `docs/modules/devops/implementation_plan.md`
|
||||
- `docs/operations/devops/README.md`
|
||||
- `docs/operations/devops/architecture.md`
|
||||
- `docs/operations/devops/implementation_plan.md`
|
||||
- `docs/modules/platform/architecture-overview.md`
|
||||
|
||||
## Working Agreement
|
||||
|
||||
24
docs/operations/devops/implementation_plan.md
Normal file
24
docs/operations/devops/implementation_plan.md
Normal file
@@ -0,0 +1,24 @@
|
||||
# DevOps Implementation Plan
|
||||
|
||||
## Purpose
|
||||
Provide a living plan for DevOps workflows, release tooling, and operational runbooks.
|
||||
|
||||
## Active work
|
||||
- Track current sprints under `docs/implplan/SPRINT_*.md` for DevOps scope.
|
||||
- Update this file when new DevOps deliverables are approved.
|
||||
|
||||
## Near-term deliverables
|
||||
- TBD (add when sprint is staffed).
|
||||
|
||||
## Dependencies
|
||||
- `docs/operations/devops/README.md`
|
||||
- `docs/operations/devops/architecture.md`
|
||||
- `docs/modules/platform/architecture-overview.md`
|
||||
|
||||
## Evidence of completion
|
||||
- Changes under `devops/**` and `.gitea/**` where applicable.
|
||||
- Updated runbooks and migration notes under `docs/operations/devops/**`.
|
||||
- Tests or validation scripts added for deterministic/offline workflows.
|
||||
|
||||
## Notes
|
||||
- Keep determinism, offline-first posture, and audit logging aligned with AGENTS.
|
||||
Reference in New Issue
Block a user