Forgejo and Codey¶
runner.li serves Forgejo Actions on Forgejo 15 or later, which includes every Codey instance. Each job gets a single-use runner registration that is bound to that one job and removed afterwards, so no long-lived runner credential exists on the runner side.
What we need from you¶
During onboarding, through a secure channel and never by chat or e-mail:
- The organization whose jobs runner.li should run.
- An access token from an owner of that organization, with the scopes
write:organizationandwrite:repositoryonly. It lets runner.li see the organization's queued jobs and register and remove single-use runners. Instance-wide admin endpoints refuse it. - Whether something on your instance already serves
ubuntu-latest. If it does, we agree on a separate label for runner.li.
Use it in a workflow¶
The runners serve ubuntu-latest by default, so a workflow copied from GitHub runs unchanged:
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: make test
If we agreed on a separate label, use it in the workflows you want to move:
runs-on: runnerli
A job whose label no runner serves waits in the queue without an error. Check the label first when a job does not start.
Next¶
- Codey: pushing images to the Codey registry from a job
- Flex jobs: let scheduled jobs wait for free slots
- Job environment: what is installed, Docker, network, cache