-
Notifications
You must be signed in to change notification settings - Fork 23
Add executor abstraction #69
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Hello and congrats for this nice POC! To be honest, i'm a bit afraid by having to maintain this Garnix executor mainly because i don't use Garnix. Moreoever, to test this feature, we would need to mock Garnix API which could evolve. That being said, i think we could first introduce this executor abstraction without the Garnix part. Then, you could either maintain a fork for few months (in order to be sure you need this feature on the long term) or add an
Maybe we could add this value in the derivation itself. This would allow comin to read the derivation file to get some values. I don't know the proper way to do this but the comin module could set:
The derivation produces by this NixOS configurations can then be used to get back the
Note, I'm planning to get more values from the evaluation (maybe tags/annotations to address this issue). |
Thanks for the feedback! I totally get the maintenance concerns, and I agree—starting with the executor abstraction first makes sense. We can hold off on the Garnix part for now and maybe add an experimental flag later if needed. I will probably propose a more trivial executor later before the Garnix one (like fetching results from a existing file in a branch).
This is a extensible solution! I'll go with this.
I also like this idea. |
a9cf43b
to
243b9c1
Compare
Removed Garnix builder for now. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It would be really nice if you could open a draft PR with your Garnix executor in order to share it with comin users ;)
8594c8c
to
bb02d59
Compare
Updated accordingly! I've also removed the executor option from golang types. For Garnix executor, see #74 |
This PR introduces a framework for CI integration, using Garnix as an example. It's still a proof of concept, though I am currently testing it on my machines.
Changes:
executor
option in config and NixOS module for CI specific options.Known issues:
machineId
must be exported by CI after evaluation, otherwise we have to evaluate it on target machine. No easy solution found yet.Related issue: #8