2025-11-03: Various Forgejo Actions improvements; Update to Crow v4.4.0; IPV6 support

Forgejo Actions configuration has seen lots of improvements over the last days.

  • Docker workflows are now supported through a dedicated docker-in-docker (DIND) instance processing all workflows. See TLS Docker jobs with Forgejo Actions (systemd) | devXY and Utilizing Docker within Actions | Forgejo – Beyond coding. We forge. for more background information. To use it, set runs-on: docker in the Actions spec. The dind image will always run the latest docker version available. Agent and client communicate via TLS.

  • We added many new runs-on labels. Previously, only one (generic) docker label was available. Now the following ones are supported:

    • debian-latest
    • debian-node22
    • debian-trixie
    • debian-trixie-node22
    • ubuntu-latest
    • ubuntu-node22
    • alpine-latest
    • alpine-node22

    The *-latest variants will always auto-update to the latest node version available upstream (we are following the mirrors of data.forgejo.org). The pinned versions will stay as is until they become EOL.

    ubuntu-latest is just an alias for debian-latest (to simplify GitHub Actions migration) as there is no Ubuntu image with node available.

BREAKING: Beforehand, the docker label was running debian-bookworm:node22. Now the docker labels runs docker:dind which has different capabilities and entrypoint. If your workflow now errors, please switch to debian-latest or another label of your choice.

Apologies for the breakage, the initial config with a single label named docker wasn’t really a good one.

IPV6

All CI agents (Actions and Crow) now support IPV6, even when running through dind!

Crow CI 4.4.0

Crow CI has been updated to v4.4.0 which comes with many QOL fixes, especially for agent (re)connectivity and a freshly redesigned agent view.