Most problems come from the label, the repository connection or the free allowance.
A job stays queued
A job waiting for a runner stays in GitHub's queue and starts on its own. If it never starts, check:
- The label. It must be one Sengi label, written literally as the whole value of
runs-on, not built from an expression. A job with two Sengi labels is held rather than guessed. - The connection. The repository must be connected to a Sengi project, not only have the App installed. Your project's GitHub connections page lists connected repositories.
- Free credits. Without a card, new jobs wait once the month's free credits are used. Add a card on the billing page, or wait for next month.
actionlint fails on the label
actionlint does not know custom labels. Declare the Sengi labels you use in .github/actionlint.yaml:
self-hosted-runner:
labels:
- sengi-basic-2-ubuntu-2404
- sengi-premium-4-ubuntu-2404A job is cancelled or fails without an error
The job most likely ran out of memory: memory is a hard limit, and the job ends before an out-of-memory message reaches the log. Move it to the next size up. See runner sizes.
A step checks for GitHub-hosted runners
RUNNER_ENVIRONMENT reads self-hosted on Sengi. A step that only runs when it equals github-hosted needs that condition changed.
Switching a job back
Change runs-on back, or revert the pull request that switched it. The next run uses GitHub's runners again.
Still stuck
Use Help with the repository and the GitHub run and job links. Never send a token, password or session cookie.
