Run Renovate now for one repo or all (N) #120

Closed
opened 2026-10-10 07:31:45 -05:00 by deadstyle · 2 comments
Owner

Problem

PM (2026-10-10): "I would like to be able to see what a service needs while I am looking at it or in the mode to do updates, getting that option allows me to trigger a non-monday run." Renovate runs on a schedule; there's no way to ask for a fresh run from lazyforge, for one repo or for all.

Acceptance criteria (PM, 2026-10-10, option 2)

  • N starts a Renovate run. It works on the repo list, inside a repo (any box or details), and in ★ Renovate.
  • With a repo in context (a repo row, anything inside a repo, a ★ row tied to one repo), N opens a small dialog: this repo (default) or all repos. On the ★ header / host-wide rows it confirms a run on all repos.
  • Confirming dispatches the run and the status bar says it started (for example "Renovate run started for deadstyle/files"). A failure shows the forge's reason.
  • N is shown in hints/help only where it can work (host has a configured Renovate workflow and the user may dispatch it).
  • design.md keymap table gains N.

Plan (engineering lead)

  1. Renovate runner (deadstyle/forgejo .forgejo/workflows/renovate.yml): add an optional workflow_dispatch input repo; when set, limit the run to it (RENOVATE_AUTODISCOVER_FILTER). Empty input keeps today's all-repos run. Separate MR in that repo.
  2. Config: per-host setting naming the Renovate workflow (renovate_workflow = "deadstyle/forgejo/renovate.yml"). Unset → N hidden. Settings screen shows it beside renovate_user.
  3. Forge: optional capability to dispatch a workflow with inputs. Forgejo/Gitea: POST /repos/{owner}/{repo}/actions/workflows/{file}/dispatches (present on git.bobparsons.dev, Forgejo 16.0.5). GitHub: same shape exists (/actions/workflows/{id}/dispatches), so the adapter can implement it too.
  4. Core + UI: service method, N binding, dialog modelled on the merge dialog.

Context

  • Today Renovate runs nightly at 08:00 UTC from deadstyle/forgejo's Renovate workflow, which already has a bare workflow_dispatch (all repos only).
  • The Dependency Dashboard "run again" checkbox only flags the repo for the next scheduled run; it is not a trigger.

Out of scope

  • Showing the run's progress inside lazyforge beyond the start message (the run appears in the runner repo's Actions box).
## Problem PM (2026-10-10): "I would like to be able to see what a service needs while I am looking at it or in the mode to do updates, getting that option allows me to trigger a non-monday run." Renovate runs on a schedule; there's no way to ask for a fresh run from lazyforge, for one repo or for all. ## Acceptance criteria (PM, 2026-10-10, option 2) - `N` starts a Renovate run. It works on the repo list, inside a repo (any box or details), and in ★ Renovate. - With a repo in context (a repo row, anything inside a repo, a ★ row tied to one repo), `N` opens a small dialog: **this repo** (default) or **all repos**. On the ★ header / host-wide rows it confirms a run on all repos. - Confirming dispatches the run and the status bar says it started (for example "Renovate run started for deadstyle/files"). A failure shows the forge's reason. - `N` is shown in hints/help only where it can work (host has a configured Renovate workflow and the user may dispatch it). - design.md keymap table gains `N`. ## Plan (engineering lead) 1. **Renovate runner (deadstyle/forgejo `.forgejo/workflows/renovate.yml`)**: add an optional `workflow_dispatch` input `repo`; when set, limit the run to it (`RENOVATE_AUTODISCOVER_FILTER`). Empty input keeps today's all-repos run. Separate MR in that repo. 2. **Config**: per-host setting naming the Renovate workflow (`renovate_workflow = "deadstyle/forgejo/renovate.yml"`). Unset → `N` hidden. Settings screen shows it beside `renovate_user`. 3. **Forge**: optional capability to dispatch a workflow with inputs. Forgejo/Gitea: `POST /repos/{owner}/{repo}/actions/workflows/{file}/dispatches` (present on git.bobparsons.dev, Forgejo 16.0.5). GitHub: same shape exists (`/actions/workflows/{id}/dispatches`), so the adapter can implement it too. 4. **Core + UI**: service method, `N` binding, dialog modelled on the merge dialog. ## Context - Today Renovate runs nightly at 08:00 UTC from deadstyle/forgejo's Renovate workflow, which already has a bare `workflow_dispatch` (all repos only). - The Dependency Dashboard "run again" checkbox only flags the repo for the *next* scheduled run; it is not a trigger. ## Out of scope - Showing the run's progress inside lazyforge beyond the start message (the run appears in the runner repo's Actions box).
Author
Owner

🤖 MR open: #122 (lazyforge side: config, forge dispatch, core, N + dialog, docs). Still to do in a separate MR in deadstyle/forgejo: add the optional workflow_dispatch input repo to .forgejo/workflows/renovate.yml (limit the run via RENOVATE_AUTODISCOVER_FILTER). Until then 'this repo' runs are not limited to one repo. After merge, set renovate_workflow = "deadstyle/forgejo/renovate.yml" on the host.

🤖 MR open: https://git.bobparsons.dev/deadstyle/lazyforge/pulls/122 (lazyforge side: config, forge dispatch, core, N + dialog, docs). Still to do in a separate MR in deadstyle/forgejo: add the optional workflow_dispatch input `repo` to .forgejo/workflows/renovate.yml (limit the run via RENOVATE_AUTODISCOVER_FILTER). Until then 'this repo' runs are not limited to one repo. After merge, set renovate_workflow = "deadstyle/forgejo/renovate.yml" on the host.
Author
Owner

🤖 merged: #122

🤖 merged: https://git.bobparsons.dev/deadstyle/lazyforge/pulls/122
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
deadstyle/lazyforge#120
No description provided.