Summary
Linting and testing are split across multiple workflows (linting.yml, meta.yml, testing.yml) with unclear trigger logic. This creates confusion about when checks run and risks redundant or competing runs.
Problem
- Triggers scattered across multiple files
- Unclear precedence or order of execution
- Potential for redundant runs (e.g., linting runs twice)
- Concurrency groups not fully specified
- Documentation doesn't explain workflow topology
Solution
Create unified checks.yml workflow that:
- Consolidates pre-merge checks: lint + test + validate
- Clear trigger:
pull_request and push (develop branch only)
- Use concurrency groups to prevent overlapping runs
- Keep
meta.yml separate (different cadence: post-push, not pre-merge)
- Document trigger precedence in comments
- Add workflow topology diagram to
.github/workflows/README.md
Implementation Details
- Effort: 1–2 hours
- Complexity: Low
- Risk: Low (non-breaking refactor)
- Related: Current workflows (
linting.yml, testing.yml, meta.yml)
- Dependencies: Existing linting/testing scripts
Acceptance Criteria
Reference
See workflow standards audit: .github/reports/audits/workflow-standards-audit-2026-05-31.md
Summary
Linting and testing are split across multiple workflows (
linting.yml,meta.yml,testing.yml) with unclear trigger logic. This creates confusion about when checks run and risks redundant or competing runs.Problem
Solution
Create unified
checks.ymlworkflow that:pull_requestandpush(develop branch only)meta.ymlseparate (different cadence: post-push, not pre-merge).github/workflows/README.mdImplementation Details
linting.yml,testing.yml,meta.yml)Acceptance Criteria
checks.ymlconsolidates lint + test + validate.github/workflows/README.mddocuments topologyReference
See workflow standards audit:
.github/reports/audits/workflow-standards-audit-2026-05-31.md