I don't see sourcehut [0] mentionned here. I tested github and gitlab CI, sourcehut is MILES ahead. I'll drop two key features here :
- any CI run successful or not, gives you back a ssh URI so you can log into the machine to inspect/tweak/tinker
- CI files are NOT in the project's repository. no need to wrangle with your git branches when working on CI anymore
I don't use sourcehut, but interpreting what you wrote I'd argue this is an antifeature and would be a dealbreaker for me. CI typically evolves with the underlying code and decoupling that from the code makes it difficult to go backwards. It loses cohesion.
you can put them in the same repository, if that is your thing.
If you put the build files in a .builds/ folder at the root of your repository, they will be run upon each commit. Just like in github or gitlab. You are just not forced into this way of life.
If you prefer, you can store the build files separately, and run them independently of your commits. Moreover, the build files don't need to be associated to any repository, inside or outside sourcehut.
[0] : https://man.sr.ht/builds.sr.ht/