README.md — Actions tools table, examples, caveats #119

Closed
opened 2026-08-29 03:29:12 +00:00 by david · 1 comment
Owner

Summary

Add the Actions tooling documentation to extensions/forgejo/README.md: a 5-tool table with parameters, a failure-debugging example flow, and the cache/scope/version caveats.

Background

Part of the Forgejo Actions tooling feature (tracking issue #111). Documentation is the explicit last step — it lands only after code + tests are green (#118). Extend the existing README structure (Setup, Install, Tool list, Examples, Caveats) with the Actions section.

Implementation Details

  • Add an "Actions tools" table (5 tools) with params:
    • forgejo_action_runs — all filters (status[], event[], ref, head_sha, run_number, workflow_id, page, limit).
    • forgejo_action_run_viewrun_id.
    • forgejo_action_jobsrun_id.
    • forgejo_action_job_logrun_id, job_id, attempt?, refresh?.
    • forgejo_action_run_logsrun_id, refresh?.
  • Examples: find failed runs (forgejo_action_runs with status[]=failure) → pick a run → forgejo_action_job_log → show returned path + cached flag; second call cached, refresh: true after re-run.
  • Caveats section:
    • Cache location: ~/.cache/forgejo-actions by default, override with FORGEJO_ACTIONS_CACHE_DIR.
    • Token scope: read:repository only — nothing is written to Forgejo.
    • Baseline: Forgejo v16+ — the runs/jobs/logs endpoints do not exist on older instances (e.g. v10 / gitea-1.22).
    • v17+ features (job details, ?step= / ?q= / ?format=ndjson) are out of scope.
    • refresh semantics: pass it after a workflow re-run or for in-progress runs.

Acceptance Criteria

  • README has a 5-tool Actions table with all parameters and return shapes.
  • At least one end-to-end failure-debugging example (runs → job → log) with expected output.
  • All caveats (cache dir, read:repository, v16 baseline, v17 out of scope, refresh) are present.
  • No statements contradict the shipped implementation or DESIGN.md (#120).

Test Plan

  • Read the rendered README (Forgejo web view) and follow the example flow on a v16+ instance.
  • Cross-check every tool name/param against src/index.ts registration.
### Summary Add the Actions tooling documentation to `extensions/forgejo/README.md`: a 5-tool table with parameters, a failure-debugging example flow, and the cache/scope/version caveats. ### Background Part of the Forgejo Actions tooling feature (tracking issue **#111**). Documentation is the **explicit last step** — it lands only after code + tests are green (**#118**). Extend the existing README structure (Setup, Install, Tool list, Examples, Caveats) with the Actions section. ### Implementation Details - Add an "Actions tools" table (5 tools) with params: - `forgejo_action_runs` — all filters (`status[]`, `event[]`, `ref`, `head_sha`, `run_number`, `workflow_id`, `page`, `limit`). - `forgejo_action_run_view` — `run_id`. - `forgejo_action_jobs` — `run_id`. - `forgejo_action_job_log` — `run_id`, `job_id`, `attempt?`, `refresh?`. - `forgejo_action_run_logs` — `run_id`, `refresh?`. - Examples: find failed runs (`forgejo_action_runs` with `status[]=failure`) → pick a run → `forgejo_action_job_log` → show returned `path` + `cached` flag; second call cached, `refresh: true` after re-run. - Caveats section: - Cache location: `~/.cache/forgejo-actions` by default, override with `FORGEJO_ACTIONS_CACHE_DIR`. - Token scope: `read:repository` only — nothing is written to Forgejo. - Baseline: Forgejo **v16+** — the runs/jobs/logs endpoints do not exist on older instances (e.g. v10 / gitea-1.22). - v17+ features (job details, `?step=` / `?q=` / `?format=ndjson`) are out of scope. - `refresh` semantics: pass it after a workflow re-run or for in-progress runs. ### Acceptance Criteria - [ ] README has a 5-tool Actions table with all parameters and return shapes. - [ ] At least one end-to-end failure-debugging example (runs → job → log) with expected output. - [ ] All caveats (cache dir, `read:repository`, v16 baseline, v17 out of scope, `refresh`) are present. - [ ] No statements contradict the shipped implementation or DESIGN.md (#120). ### Test Plan - Read the rendered README (Forgejo web view) and follow the example flow on a v16+ instance. - Cross-check every tool name/param against `src/index.ts` registration.
david closed this issue 2026-09-18 06:09:08 +00:00
Author
Owner

Closing — the work described here was already implemented and merged to main (commit ee2b5ac, part of the Actions tooling batch under tracking issue #111).

Verified against current repo state:

  • 5-tool Actions table in extensions/forgejo/README.md with all params; every tool name/param cross-checked against its registration in src/index.ts.
  • End-to-end failure-debugging example (runs → jobs → job log) with expected output, plus a dedicated "Actions smoke test" section including the refresh: true step.
  • All caveats present: cache dir + FORGEJO_ACTIONS_CACHE_DIR, read:repository scope, v16 baseline, v17+ out of scope, refresh semantics.
  • No contradictions with the shipped implementation or docs/DESIGN.md (#120).
Closing — the work described here was already implemented and merged to `main` (commit `ee2b5ac`, part of the Actions tooling batch under tracking issue #111). Verified against current repo state: - ✅ 5-tool Actions table in `extensions/forgejo/README.md` with all params; every tool name/param cross-checked against its registration in `src/index.ts`. - ✅ End-to-end failure-debugging example (runs → jobs → job log) with expected output, plus a dedicated "Actions smoke test" section including the `refresh: true` step. - ✅ All caveats present: cache dir + `FORGEJO_ACTIONS_CACHE_DIR`, `read:repository` scope, v16 baseline, v17+ out of scope, `refresh` semantics. - ✅ No contradictions with the shipped implementation or `docs/DESIGN.md` (#120).
Sign in to join this conversation.
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
david/pi-extensions-and-skills#119
No description provided.