New Forgejo Runner #106

Merged
june merged 6 commits from new_forgejo_runner into main 2026-07-03 03:42:59 +02:00
Owner

Moving the Forgejo Runner to Ansible.
Includes some preliminary work for gVisor as well, but the runner is running standard Docker for now as gVisor still needs some upstream fixes.

Moving the Forgejo Runner to Ansible. Includes some preliminary work for gVisor as well, but the runner is running standard Docker for now as gVisor still needs [some upstream fixes](https://code.forgejo.org/forgejo/forgejo-actions-feature-requests/issues/115).
docker(role): document gVisor issue with user-def. br. and provide help
Some checks failed
/ Ansible Lint (push) Successful in 3m53s
/ build (pull_request) Failing after 2m40s
/ Ansible Lint (pull_request) Successful in 2m41s
fdd9eadad1
Document issue with containers on user-defined bridges and using the
gVisor runsc runtime. Also provide a helper resolv.conf as a workaround.
june changed title from New Forgejo Runner to WIP: New Forgejo Runner 2026-06-23 21:05:43 +02:00
june force-pushed new_forgejo_runner from fdd9eadad1
Some checks failed
/ Ansible Lint (push) Successful in 3m53s
/ build (pull_request) Failing after 2m40s
/ Ansible Lint (pull_request) Successful in 2m41s
to a4f1f9b9fe
Some checks failed
/ Ansible Lint (push) Has been cancelled
/ build (pull_request) Has been cancelled
/ Ansible Lint (pull_request) Has been cancelled
2026-06-23 21:32:59 +02:00
Compare
june force-pushed new_forgejo_runner from a4f1f9b9fe
Some checks failed
/ Ansible Lint (push) Has been cancelled
/ build (pull_request) Has been cancelled
/ Ansible Lint (pull_request) Has been cancelled
to edd1984517
All checks were successful
/ Ansible Lint (push) Successful in 2m36s
/ Ansible Lint (pull_request) Successful in 2m51s
/ build (pull_request) Successful in 33s
2026-06-23 21:33:24 +02:00
Compare
june changed title from WIP: New Forgejo Runner to New Forgejo Runner 2026-06-23 21:46:00 +02:00
stb approved these changes 2026-06-24 09:04:40 +02:00
@ -0,0 +14,4 @@
labels:
# https://forgejo.org/docs/latest/admin/actions/configuration/#choosing-labels
- docker:docker://docker.io/library/node:lts
Owner

If we can add these, this replaces the old VM-based runner (almost) completely. Note: this requires a bit of disk space, the ubuntu image is ~15GB.

  - alpine-latest:docker://docker.io/alpine:latest
  - ubuntu-latest:docker://catthehacker/ubuntu:full-latest
  - ubuntu-24.04:docker://catthehacker/ubuntu:full-24.04
If we can add these, this replaces the old VM-based runner (almost) completely. Note: this requires a bit of disk space, the ubuntu image is ~15GB. ``` - alpine-latest:docker://docker.io/alpine:latest - ubuntu-latest:docker://catthehacker/ubuntu:full-latest - ubuntu-24.04:docker://catthehacker/ubuntu:full-24.04 ```
Author
Owner

Sure, can add those!
It's still running on Docker tho, so advanced capabilities like qemu aren't available, but now that @lilly moved the image builds to Container-based Actions that should be fine.

Sure, can add those! It's still running on Docker tho, so advanced capabilities like `qemu` aren't available, but now that @lilly moved the image builds to Container-based Actions that should be fine.
Author
Owner

Guess question would be, if we really need the full-sized images (extracted 60GB disk space usage) or if the act versions are fine for us (which are the same that Codeberg use).
https://github.com/catthehacker/docker_images

Guess question would be, if we really need the full-sized images (extracted 60GB disk space usage) or if the act versions are fine for us (which are the same that Codeberg use). https://github.com/catthehacker/docker_images
Author
Owner

Using the smaller images like Codeberg does. !106 (commit b9a5fa3ce5)

Using the smaller images like Codeberg does. https://git.hamburg.ccc.de/CCCHH/ansible-infra/pulls/106/commits/b9a5fa3ce58a76c99bfe61bbfdaea97822176640
june marked this conversation as resolved
@ -0,0 +1,9 @@
# resolv.conf pointing to Quad9 for bind-mounting into containers on user-defined bridges and using the gVisor runsc runtime.
# Example: docker run --runtime runsc --mount type=bind,src=/etc/gvisor-helper-resolv.conf,dst=/etc/resolv.conf,ro=true --network your-user-defined-network -it --rm docker.io/library/debian /bin/bash
nameserver 9.9.9.9
Owner

Why quad 9 and not one of our resolvers?

Why quad 9 and not one of our resolvers?
Author
Owner

Would do that once we have proper resolvers we run ourself. This isn't the case right now afaik.

Would do that once we have proper resolvers we run ourself. This isn't the case right now afaik.
june marked this conversation as resolved
june force-pushed new_forgejo_runner from edd1984517
All checks were successful
/ Ansible Lint (push) Successful in 2m36s
/ Ansible Lint (pull_request) Successful in 2m51s
/ build (pull_request) Successful in 33s
to ab4e32f461
All checks were successful
/ build (pull_request) Successful in 30s
/ Ansible Lint (pull_request) Successful in 3m19s
/ Ansible Lint (push) Successful in 3m32s
2026-06-24 21:58:50 +02:00
Compare
forgejo-runner(host): configure some more labels for more images
Some checks failed
/ build (pull_request) Successful in 54s
/ Ansible Lint (push) Has been cancelled
/ Ansible Lint (pull_request) Has been cancelled
6360daa969
Provide the ubuntu labels similar to the images running at Codeberg
using the catthehacker/ubuntu:act-* images.
See:
https://github.com/catthehacker/docker_images
https://codeberg.org/actions/meta

Also provide convenience labels for Alpine and Debian.
june force-pushed new_forgejo_runner from 6360daa969
Some checks failed
/ build (pull_request) Successful in 54s
/ Ansible Lint (push) Has been cancelled
/ Ansible Lint (pull_request) Has been cancelled
to b9a5fa3ce5
Some checks failed
/ build (pull_request) Successful in 29s
/ cleanup-staging (pull_request) Successful in 9s
/ build (push) Successful in 26s
/ Ansible Lint (pull_request) Failing after 2m33s
/ Ansible Lint (push) Failing after 2m25s
2026-07-03 03:42:20 +02:00
Compare
june merged commit b9a5fa3ce5 into main 2026-07-03 03:42:59 +02:00
june deleted branch new_forgejo_runner 2026-07-03 03:42:59 +02:00
Sign in to join this conversation.
No reviewers
stb
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
CCCHH/ansible-infra!106
No description provided.