juspay / omnix

🚧 A Nix wrapper to improve developer experience
https://omnix.page
GNU Affero General Public License v3.0
70 stars 5 forks source link

`om ci`: Configurable steps #216

Closed srid closed 2 weeks ago

srid commented 1 month ago

Create a notion of a "[CI] step".

Make the current devour-flake build a builtin step, called build, as well as the main Nix version check a builtin step, called health. Add additional builtin checks, like cachix (solving #197). Finally, allow users to define their own steps, like closure-size-check and cli-tests (solving #198). We can even solve #200 by writing a builtin step.

The user can enable or disable any step, including builtin ones.

The config can be in the same place. Note the use of string interpolation to refer to store paths in cachix pin configuration, since we can't use functions or modules here due to JSON conversion requirement.

image
srid commented 1 month ago

We don't need to rely on flake apps -- thus there's no need for "CI apps" -- since the command option can run about any command.

srid commented 2 weeks ago

This is by and large done: https://omnix.page/om/ci.html#custom