My current picks are Woodpecker CI and Forgejo runners. Anything else that’s lightweight and easy to manage?

  • Clearwater@lemmy.world
    link
    fedilink
    English
    arrow-up
    2
    ·
    3 days ago

    I run Forgejo and had issues with woodpecker’s hooks breaking causing workflows to not start. Moved to Forgejo Actions which had it’s own different set of quirks (really just depends on your exact deployment method), but I’m happy with it.

      • Clearwater@lemmy.world
        link
        fedilink
        English
        arrow-up
        3
        ·
        3 days ago

        First of all, I actually do prefer Forgejo Actions over Woodpecker. Once set up, my only problem with it (so far) is almost certainly caused by my infrastructure and isn’t inherent to FA itself. Pecker, on the other hand, is quite a bit easier to set up and better documented, but I had that issue where it would disconnect from Forgejo and need a few buttons pressed to fix.

        This one is just FA being weird:

        If you want to deploy the Runner using Docker, the documentation is poor at best. From both a security and documentation standpoint, having it in its own VM is better, but you can do Docker. You just have to read and figure out more on your own. Reading through the example deployments from the documentation will eventually lead you to something along the lines of this (which I copy-pasted from my deployment rather than search for again):

        forgejo-runner:
          image: code.forgejo.org/forgejo/runner:6.3.1
          restart: always
          user: 1000:1000
          environment:
            - DOCKER_HOST=tcp://dind:2376
          volumes:
            - runner_cache:/data
          depends_on:
            - dind
          command: >-
            bash -ec '
            forgejo-runner create-runner-file --name runner --instance https://${DOMAIN} --secret ${RUNNER_SECRET};
            sed -i -e "s|\"labels\": null|\"labels\": [\"docker:docker://docker.io/node:22-bookworm\", \"ubuntu-latest:docker://ghcr.io/catthehacker/ubuntu:act-latest\"]|" .runner ;
            forgejo-runner generate-config > config.yml;
            sed -i -e "s|^  network: \"\"$|  network: host|" config.yml ;
            sed -i -e "s|^  envs:$$|  envs:\n    DOCKER_HOST: tcp://dind:2376\n    CONTAINER_HOST: tcp://dind:2376|" config.yml ;
            forgejo-runner --config config.yml daemon
            '
        

        You don’t actually need to do this since you could edit the two config files yourself and bind them to the container. This is just how you automatically generate those files… And it’s dumb, but it works and it means you don’t have to keep track of those files.

        This one is probably just my infrastructure: https://lemmy.world/comment/16093731

        If you do go for FA in Docker (or Podman) and need some help, just ask. I’ll post more of my compose and explain my decisions.

        • Possibly linux@lemmy.zipOP
          link
          fedilink
          English
          arrow-up
          2
          ·
          2 days ago

          My general understanding of all of this is that the Forgejo ecosystem is young and needs time to mature. I’ll probably just stick with Woodpecker for now but thanks for the explanation.

          • Clearwater@lemmy.world
            link
            fedilink
            English
            arrow-up
            1
            ·
            2 days ago

            I agree. Forgejo itself is stable and I love it. Gitea never gave me trouble and that carried over.

            Actions is just a bit hard to setup, at least for me, when I tried. We’ll get there one day. (I believe the big thing is really just documentation.)