feat: run Renovate now for one repo or all (N) #122
Loading…
Reference in a new issue
No description provided.
Delete branch "feature/120-run-renovate-now"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Nstarts a Renovate run from lazyforge: for the repo in context or for all repos. It works on the repo list, inside a repo, and in ★ Renovate. A small dialog offers this repo (default) or all repos; host-wide ★ rows confirm a run on all repos. The status bar saysRenovate run started for <owner/name>(orfor all repos), and a failure shows the forge's reason.Nappears in hints and help only where it can work: the host has a configuredrenovate_workflowand the user has write access to that workflow's repo.Changes
WorkflowDispatcherwith actionActDispatchWorkflow(needs write access), implemented for Forgejo/Gitea and GitHub (POST /repos/{o}/{r}/actions/workflows/{file}/dispatches), theFake, and the shared contract suite.domain.RepogainsDefaultBranch, filled by both adapters'ListRepos, so the dispatch needs no extra request.renovate_workflow = "owner/repo/file.yml", validated at load with the field path in the error.CanRunRenovate(no I/O, from the cached repo list) andRunRenovate.Nbinding and run dialog, status messages, the workflow field on the host add/edit Renovate step (so editing a host keeps it), and App wiring.docs/design.mdkeymap row, onboarding step and Renovate bullet;docs/architecture.mdinterface, API mapping and config; README.Decisions
refis the workflow repo's default branch.inputs; a run for one repo sends{"repo": "owner/name"}. This keeps today's bareworkflow_dispatchworking, and GitHub rejects undeclared inputs.Nis hidden until the repo list loads, when the workflow repo is missing from it (matched case-insensitively), when its default branch is empty, or at read-only access.renovate_workflowhas exactly three/-separated parts with no whitespace; load and onboarding both reject anything else.renovate_useris shown or edited.Test plan
make checkexits 0 at the head commit (fmt, lint,go test -race, vuln, build, install-test, Windows vet).inputskey when empty, 404 →ErrNotFound, 422 message passes through,Cancases,Fakesemantics, contract cases.SplitWorkflowtable (including whitespace) and the load error path.Nenabled/disabled at every level, dialog keys, host-wide vs repo rows, failure reason in the status bar, App wiring, onboarding prefill/clear/tab/validation.Follow-ups
deadstyle/forgejo(.forgejo/workflows/renovate.yml) still needs an optionalworkflow_dispatchinputrepothat limits the run (RENOVATE_AUTODISCOVER_FILTER). Until then, "this repo" runs aren't limited to one repo: the runner either ignores the undeclared input and runs everything, or the forge rejects the dispatch. Separate MR in that repo.renovate_workflow = "deadstyle/forgejo/renovate.yml"on the host.Refs #120
🤖 Generated with Claude Code
https://claude.ai/code/session_01KAW1xJdQBS2JvDpPykgRv1