I've recently written a new tool: icklint. You give it your ick project and pipeline descriptions, and it looks for problems. Currently it checks for the following things:

  • Each pipeline must have actions.
  • There is not pipeline field called "parameter" (the correct spelling is "parameters", in the plural).
  • Each project has pipelines and parameters.
  • Each project defines all the parameters its pipelines expect, and no parameters none of its pipelines expect.

To use:

  • Get the script from http://git.liw.fi/icklint/tree/ (you can just download the script, or run it from a cloned repository). Requires the Python YAML library (python3-yaml in Debian).

  • Download all projects and pipeline descriptions from your ick controller:

      icktool show /projects > projects.json
      icktool show /pipelines > pipeline.json
  • Run: ./icklint projects.json pipelines.json

All errors are printed to stdout.

If you can think of more checks for icklint to have, do suggest!