← Back to context

Comment by Bnjoroge

15 hours ago

Thanks! Here's a more detailed comparison: https://github.com/preloopdev/preloop/blob/main/docs/preloop.... The TLDR is act(much like Forgejo/Gitea) try to behaviorally emulate how your workflows run in docker containers. Preloop uses the exact same protocol the official runner does and runs each job in microvms. I try to match not only te request/response bodies, but down to the job/step log/annotations/conclusions level, so you could essentially use the official runner against preloop, and it would work as it would communicating with Github. Preloop is also designed to be agent-native from the ground up so an agent can drive the entire CI in real-time and debug like we do. Forgejo has the closest compatibility among the three in practice, and if you are fully off Github, I think it's a good enough choice. Here's a more detailed description of some things we do to ensure compatibility: https://github.com/preloopdev/preloop/blob/main/docs/conform...

Is it a goal to actually run self-hosted runners against preloop?

  • Yes! You could effectively use the official runner against preloop or our (almost) drop-in rust equivalent which is a 10x smaller binary and has far lower idle rss. The control plane currently is unfortunately coupled with the data plane, but a refactor is one of my top priorities soon.