input-output-hk / cicero

event-driven automation for Nomad
https://handbook.cicero.ci.iog.io
41 stars 11 forks source link

Implement `makes` interpreter in nix stdlib #8

Closed blaggacao closed 2 years ago

blaggacao commented 3 years ago

A fluidattacks/makes interpreter -- with small additions to makes, notably implementing mkApp again -- can directly consume makes jobs on the apps flake interface.

Makes flakes also have __makes__._all_ (or equivalent) that pre-builds everything contained in any of the makes tasks (for binary caching).

Makes on the other hand would have to commit fully to the self.apps interface for all non-tui related functionality.

This means some functionality must remain in storepath/makes-action.sh.

/cc @kamadorueda

dermetfan commented 2 years ago

This is all we currently have to support makes. I'm not sure what an actual makes interpreter would do or what value it would add since you can run any makes target from a script:

job = std.chain args [
  # …
  (std.makes "/format")
];