hercules-ci / support

User feedback, questions and our public roadmap. help@hercules-ci.com
5 stars 1 forks source link

Struggle using hercules for public repo #70

Open DavHau opened 1 year ago

DavHau commented 1 year ago

The dream2nix repo was migrated to using hercules, but we have a problem where PRs of external contributor are blocked by the hercules jobs not executing.

Github does have a feature to require maintainer confirmation before CI runs on PRs of first time contributors, but this gets ignored by hercules. Even when confirming, the jobs won't run.

I heard a recommendation to use merge queues, but I don't see this as a viable alternative. Running status checks should be a cheap operation that doesn't require much human intervention. Queuing a PR for merge requires the review to be finished thereby making running status checks an expensive operation. This seems to go against some principle of continuous integration which is to get quick feedback on the quality of a change. Practically speaking, if I see that a PR fails some tests, I might decide to spend my time instead reviewing higher quality PRs, but I cannot do that if can't easily get a CI status.

Is there a simple way to fix it which I'm missing? Does hercules plan anytime soon to integrate with github's feature that allows maintainers to confirm CI runs for external contributors?

roberth commented 1 year ago

A good solution to this just hasn't been implemented yet. Hercules CI has been focused on a paying customer archetype that's doing CI/CD on private repos. In this scenario forks don't exist, or fork PRs are rare. Nonetheless I want to help the OSS community, and this seems to be the most important issue after the (almost solved now) slowdowns from what would be mass rebuilds if it wasn't for cache.nixos.org.

roberth commented 11 months ago

Besides the undesirable human intervention, merge queues don't offer a way to try without merging or bypass the approvals requirement (if that's been configured).