ScalaadvanceddevopsAI generated

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

  1. 01

    Parse YAML into a domain model

    ~2h

    Load pipeline YAML files into case classes representing stages, jobs, and dependencies.

  2. 02

    Implement schema validation rules

    ~2h

    Validate that referenced stages exist and required fields are present.

  3. 03

    Implement dependency graph and cycle detection

    ~2.5h

    Build a job dependency graph and detect circular dependencies with a graph traversal algorithm.

  4. 04

    Implement CLI reporting

    ~1.5h

    Print validation errors with file and line context in a readable format.

  5. 05

    Support multiple pipeline files

    ~1.5h

    Extend the tool to validate an entire directory of pipeline configuration files at once.

  6. 06

    Write tests

    ~2h

    Test 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.

~11.5h · 6 steps

Tech stack

sbtsnakeyaml