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
    3
    ·
    1 day 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
      ·
      20 hours 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
        ·
        5 hours 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.)