CI Pipeline Configuration Linter
Build a command-line tool that parses YAML-based CI pipeline configuration files, validates them against a schema of allowed stages and job dependencies, and reports errors like circular dependencies. Learners practice parsing external DSLs, graph algorithms for dependency cycles, and building a validation framework.
- Estimate
- ~11.5h
- Steps
- 6
- Completed by
- 0
- Proposed by
- codeseed.app
sbt · snakeyaml
Project roadmap
- 01
Parse YAML into a domain model
~2hLoad pipeline YAML files into case classes representing stages, jobs, and dependencies.
- 02
Implement schema validation rules
~2hValidate that referenced stages exist and required fields are present.
- 03
Implement dependency graph and cycle detection
~2.5hBuild a job dependency graph and detect circular dependencies with a graph traversal algorithm.
- 04
Implement CLI reporting
~1.5hPrint validation errors with file and line context in a readable format.
- 05
Support multiple pipeline files
~1.5hExtend the tool to validate an entire directory of pipeline configuration files at once.
- 06
Write tests
~2hTest schema validation and cycle detection against valid and invalid pipeline fixtures.
Resources
Ready to build this?
Get a GitHub repo and start building. Your AI reviewer checks each step as you go.
Tech stack