Any suggestions for a self-hosted CI that can also be run locally?
-
I left Github a while ago and have been relying on simple pre-push scripts in my workflow, but would like to be able to test PRs from others without putting my machine at risk. Besides codeberg and radicle (neither of which have reliable CI), I also have a build machine, where I could run CI jobs, however it is important that the CI jobs can also run locally so that external people do not require access to the build machine.
Is there a CI that can do those things (run locally and remotely)?
I set up Forgejo with Woodpecker CI some days ago and it's been great so far
-
I left Github a while ago and have been relying on simple pre-push scripts in my workflow, but would like to be able to test PRs from others without putting my machine at risk. Besides codeberg and radicle (neither of which have reliable CI), I also have a build machine, where I could run CI jobs, however it is important that the CI jobs can also run locally so that external people do not require access to the build machine.
Is there a CI that can do those things (run locally and remotely)?
Put as much of your testing in shell scripts, or even better, Ansible playbooks, so that you can run them locally. That way your CI system just does
ansible-playbook
There's a very good Ansible collection for podman, so you can orchestrate the unit tests to run inside a container for full isolation
-
I left Github a while ago and have been relying on simple pre-push scripts in my workflow, but would like to be able to test PRs from others without putting my machine at risk. Besides codeberg and radicle (neither of which have reliable CI), I also have a build machine, where I could run CI jobs, however it is important that the CI jobs can also run locally so that external people do not require access to the build machine.
Is there a CI that can do those things (run locally and remotely)?
Woodpecker with Ansible. Woodpecker will give container environment and using Ansible will reduce dependency on the CI tool.
Woodpecker has a alpine linux based container for Ansible. It will take some time to setup, but will make the life much easier.
-
I set up Forgejo with Woodpecker CI some days ago and it's been great so far
Are you able to run woodpecker locally from the repository? As in can
woodpecker run
in the checked out repository run the CI jobs? -
I left Github a while ago and have been relying on simple pre-push scripts in my workflow, but would like to be able to test PRs from others without putting my machine at risk. Besides codeberg and radicle (neither of which have reliable CI), I also have a build machine, where I could run CI jobs, however it is important that the CI jobs can also run locally so that external people do not require access to the build machine.
Is there a CI that can do those things (run locally and remotely)?
-
I left Github a while ago and have been relying on simple pre-push scripts in my workflow, but would like to be able to test PRs from others without putting my machine at risk. Besides codeberg and radicle (neither of which have reliable CI), I also have a build machine, where I could run CI jobs, however it is important that the CI jobs can also run locally so that external people do not require access to the build machine.
Is there a CI that can do those things (run locally and remotely)?
Great timing. I'm interested in this as well. I am currently attempting an ansible setup that runs podman containers in a couple lxc incus containers (developnent setup to mimic production) with forgejo and woodpecker on the other lxc container but it has been a battle.
Currently unable to figure out why the 'general.community' modules won't get recognized by ansible.
-
Woodpecker with Ansible. Woodpecker will give container environment and using Ansible will reduce dependency on the CI tool.
Woodpecker has a alpine linux based container for Ansible. It will take some time to setup, but will make the life much easier.
I'm attempting this setup as well. It's been a struggle but i am also new to a lot of this.
-
Gitlab runners can run locally
-
Woodpecker with Ansible. Woodpecker will give container environment and using Ansible will reduce dependency on the CI tool.
Woodpecker has a alpine linux based container for Ansible. It will take some time to setup, but will make the life much easier.
Why ansible? I'm not sure how that fits in. Does that make running it locally easier? An example of working setup that I can checkout and run would be useful.
-
@szicari@programming.dev it should be noted that they're shutting down the open source project. However, a fork is apparently forming. But it's good to know.