Pattern Proposal: CI workflow constraint suite
Summary
validate_workflows.py implements named checks for workflow syntax, hardcoding, installer pinning, dry-run reachability, retired workflows, trigger remediation, and composite action adoption.
Candidate Pattern
- ID:
ci-workflow-constraint-suite - Classification: architectural
- Maturity: emerging
- Type: emerging
Observed Signals
No specific signals listed.
Evidence
Supporting Evidence
- specs/090-simplify-cicd-workflows/validate_workflows.py (check_yaml_syntax, check_zero_hardcoding, check_no_unpinned_installers, check_no_unreachable_dry_run, check_retired_workflow, check_trigger_remediations, check_composite_action_adoption, main) - Encodes workflow architecture rules as executable checks.
- .github/workflows/cas-build-validation.yml - Validation workflow asset.
- .github/actions/setup-cas-env/ - Composite action for CI environment setup.
Scope Assessment
- Evidence Strength: high
- Confidence: high
- Applies to: ideas-to-life-cas
Rationale
- Intent: Enforce structural and operational rules for CI workflows as executable quality gates.
- Context: The repository contains multiple CI workflows and a composite setup action, requiring consistent workflow architecture.
- Force: Workflow YAML must remain syntactically valid
- Force: Hardcoded values should be discouraged
- Force: Installers should be pinned or otherwise controlled
- Force: Retired workflows and dry-run misconfiguration must be detected
Traceability
Artifact source: proposed-patterns