Skip to content

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:

  1. The organization whose jobs runner.li should run.
  2. An access token from an owner of that organization, with the scopes write:organization and write:repository only. It lets runner.li see the organization's queued jobs and register and remove single-use runners. Instance-wide admin endpoints refuse it.
  3. 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