CI: forgejo-runner registration from #158 is not effective — Actions API still 404 #160

Closed
opened 2026-08-14 01:07:03 +00:00 by Mark · 1 comment
Owner

Filed: 2026-08-13 during Playwright e2e wiring work.

Context: Issue #158 was closed on 2026-08-12 with commit 011fccd fix(#158): register Forgejo Actions runner — reproducible setup + verify scripts. New e2e + unit test CI jobs were just added to .forgejo/workflows/ci.yml (build / test-unit / test-e2e), but the underlying runner registration appears to not be effective for this repo.

Evidence:

$ curl -H "Authorization: token <PAT>" \
    https://forgejo.tail018ac4.ts.net/api/v1/repos/Mark/kimi_agent_kin_app_sync/actions/runners
HTTP 404 Not Found

$ curl -H "Authorization: token <PAT>" \
    https://forgejo.tail018ac4.ts.net/api/v1/repos/Mark/kimi_agent_kin_app_sync/runs?limit=1
HTTP 404 Not Found

Per the Forgejo Actions API, when a repo-scoped runner is registered for a private repo, the runs endpoint must return at least an empty list. A 404 indicates the actions feature path is not active for this repo, OR the runner daemon has not been started with the right scope.

What I added today (works locally but won't run in CI until #158 is fixed):

  1. e2e/ directory with 3 spec files (20 tests total) — all passing locally in 50.5s on chromium-headless-shell.
  2. playwright.config.ts — boots vite --port 3001 webServer.
  3. package.json: "test:e2e": "playwright test" script.
  4. .forgejo/workflows/ci.yml split into 3 jobs: build, test-unit, test-e2e (with Playwright browser cache + artifact upload on failure).

Repro of CI failure (predicted):

The new jobs will appear on the next push but stay in "queued" until a runner picks them up. If the daemon registration from #158 hasn't actually attached this repo to a running forgejo-runner instance, every run will be cancelled (matches the prior 212 cancelled runs cited in #158's body).

Action items:

  1. Verify forgejo-runner daemon is running and registered against THIS repo (not just the org or a different repo).
  2. Confirm token/scope: GET /api/v1/repos/Mark/kimi_agent_kin_app_sync/actions/runners/registration-token returns a fresh token, then forgejo-runner register --token <t> --name <n> with the daemon config pointing at https://forgejo.tail018ac4.ts.net.
  3. Restart the runner daemon if it crashed (issue #158 body mentioned daemon container with --userns=keep).
  4. Push a dummy commit and confirm a run appears.

Once #158 is actually fixed, the new e2e + unit jobs will start producing green runs on every push.

**Filed:** 2026-08-13 during Playwright e2e wiring work. **Context:** Issue #158 was closed on 2026-08-12 with commit `011fccd fix(#158): register Forgejo Actions runner — reproducible setup + verify scripts`. New e2e + unit test CI jobs were just added to `.forgejo/workflows/ci.yml` (build / test-unit / test-e2e), but the underlying runner registration appears to not be effective for this repo. **Evidence:** ``` $ curl -H "Authorization: token <PAT>" \ https://forgejo.tail018ac4.ts.net/api/v1/repos/Mark/kimi_agent_kin_app_sync/actions/runners HTTP 404 Not Found $ curl -H "Authorization: token <PAT>" \ https://forgejo.tail018ac4.ts.net/api/v1/repos/Mark/kimi_agent_kin_app_sync/runs?limit=1 HTTP 404 Not Found ``` Per the Forgejo Actions API, when a repo-scoped runner is registered for a private repo, the runs endpoint must return at least an empty list. A 404 indicates the actions feature path is not active for this repo, OR the runner daemon has not been started with the right scope. **What I added today (works locally but won't run in CI until #158 is fixed):** 1. `e2e/` directory with 3 spec files (20 tests total) — **all passing locally** in 50.5s on chromium-headless-shell. 2. `playwright.config.ts` — boots `vite --port 3001` webServer. 3. `package.json`: `"test:e2e": "playwright test"` script. 4. `.forgejo/workflows/ci.yml` split into 3 jobs: `build`, `test-unit`, `test-e2e` (with Playwright browser cache + artifact upload on failure). **Repro of CI failure (predicted):** The new jobs will appear on the next push but stay in "queued" until a runner picks them up. If the daemon registration from #158 hasn't actually attached this repo to a running forgejo-runner instance, every run will be cancelled (matches the prior 212 cancelled runs cited in #158's body). **Action items:** 1. Verify `forgejo-runner` daemon is running and registered against THIS repo (not just the org or a different repo). 3. Confirm token/scope: `GET /api/v1/repos/Mark/kimi_agent_kin_app_sync/actions/runners/registration-token` returns a fresh token, then `forgejo-runner register --token <t> --name <n>` with the daemon config pointing at `https://forgejo.tail018ac4.ts.net`. 4. Restart the runner daemon if it crashed (issue #158 body mentioned `daemon container with --userns=keep`). 5. Push a dummy commit and confirm a run appears. Once #158 is actually fixed, the new e2e + unit jobs will start producing green runs on every push.
Author
Owner

Closed: implementation already shipped on main as 6762cb2 (see commit message). Verified locally: feature is in main.

Closed: implementation already shipped on `main` as `6762cb2` (see commit message). Verified locally: feature is in `main`.
Mark closed this issue 2026-08-14 08:53:57 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
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
Mark/kimi_agent_kin_app_sync#160
No description provided.