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)?

Anti Commercial-AI license

  • sorter_plainview
    link
    fedilink
    arrow-up
    2
    ·
    edit-2
    9 hours ago

    As I mentioned it is mainly to reduce dependency on CI tool. You may have to shift the tool in the future and if you use a lot of commands specific to the CI tool, that is going to be a nightmare.

    Ansible is agent less and only needs SSH access. You can SSH into your local system, from the same local system. Need to add few entries in your SSH config and known_hosts. Essentially everything in Ansible are shell commands. So you are not really that much locked into Ansible.

    On the question,

    Does that make running it locally easier?

    If you mean making it easier compared to remote, on the surface level, the answer is ‘it depends’. You are treating the local as a remote Ansible can SSH into. Which means you can use the same Ansible playbook for both local and remote testing. It becomes easier because you get to run things locally by SSH into the same machine.

    To do that, you may add a local only git branch which will act as the trigger for running it locally. Then you can test it by pulling / merging into that branch, and using the same Ansible playbook to run tests locally.

    Bonus point is you can also create a working but basic CD system with Ansible.