hercules-ci/legacy-old-hercules

Hercules 1.0

domenkozar opened this issue ยท 9 comments

I'd like to have a meta issue to see how far we are from using this in the real world.

  • authentication
    • Backend: support Github authentication
    • Backend: store information into the DB
    • Frontend: wire up the buttons
  • github hooks to trigger evaluations
    • sharing the secret
  • jobset page
  • job page
  • user permissions upon registering?
  • declarative configuration
  • add project (a simple way to setup web hooks and declarative configuration)
  • hydra-evaluator integration
  • hydra-queue-runner integration
  • hydra-eval-jobs integration
  • serve narinfo
  • serve nar
  • Hydra migration? How to migrate to declarative configuration?
  • Documentation
    • FAQ
    • API
    • Getting started
    • Design decisions
  • NixOS module

Thanks for doing this.

@domenkozar Would you be able to update the current status? Very interested in how far this is from being usable for building custom Nix channels (as Hydra replacement).

i'd also love to see this project become usable. Mainly because configuring hydra is pretty complicated and there is state to maintain everywhere.
Right now we are using buildbot and template the build steps with nix. That makes it possible to wipe the whole state directory and with the next restart the builds just start again.

I am really looking forward to replacing our handmade setup with hercules ๐Ÿ‘

@domenkozar is this still a thing? I could maybe help out a bit if it is. Frustrated with Hydra...

Yes and No.

I launched https://cachix.org a month ago and I plan to dedicate fully in next 1-2 months to make it really convenient to use and offer some features I'd expect from a binary cache.

I plan to tackle CI next and I'm currently looking for feedback of what people would expect from a CI so that I can come up with a minimal thing.

If you'd like to help and speed up the process, please send me an email to domen@enlambda.com and we can setup a chat :)

In either case Hercules ambition was too big as the first iteration, I'd like to strip it down and make a MiniHercules to start with :)

Would Hercules be compatible with Hydra-style declarative jobsets?

nlewo commented

@tomberek IMHO, it would be better to have a more native implementation for declarative projects. It seems to me the design has been influenced by Hydra constraints.

@roberth and I started a different kind of effort: http://hercules-ci.com

Read about why we've decided to close source hercules this time: https://www.reddit.com/r/NixOS/comments/9kzsrf/nixos_weekly_10_arch64_builders_nixops/e736y4p