Run Renovate now (N) on GitLab #142
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
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?
Problem
N(run Renovate now) starts a Forgejo or GitHub workflow file namedowner/repo/file. GitLab has no workflow files: it runs a project's whole pipeline on a branch, with variables. Until the adapter implementsWorkflowDispatcherand the setting has a GitLab form,Nis hidden on GitLab. Parent: #137. Depends on #138.Acceptance criteria
To be written once the product question in the comments is answered (design.md → Running Renovate now covers Forgejo/GitHub only).
Plan (assuming the recommended answer)
internal/forge/gitlab/workflows.go:DispatchWorkflow→POST /projects/:id/pipelinewithrefandvariables: [{key: RENOVATE_AUTODISCOVER_FILTER, value: <repo>}]for a one-repo run, none for all repos. 400 →ErrRefusedwith GitLab's message; 404 →ErrNotFound. Developer access on the Renovate project is needed.group/sub/renovate-runner) instead ofowner/repo/file. Core's parse ofrenovate_workflowbranches on the host kind.Context
internal/forge/forge.goWorkflowDispatcher. Precedent:internal/forge/github/workflows.go, #120.POST /projects/:id/pipelinetakesref,variables, and since 18.1inputs. Variables reach Renovate as environment variables directly, so no CI-file change is needed for the one-repo filter (unlike the Forgejorepoinput).🤖 Decision needed: how should
N(run Renovate now) work on a GitLab host? design.md describes only the Forgejo/GitHub form: the setting is a workflow file (owner/repo/file), and a one-repo run passes arepoinput. GitLab has no workflow files. You start a project's whole pipeline on its default branch and pass variables.group/renovate-runner.Nstarts that project's pipeline. A one-repo run passes the repo as Renovate's own filter variable, so a standard renovate-runner setup needs no CI change at all (simpler than Forgejo'srepoinput). Settings refuses a value that isn't a project path, with the format hint. Cost: about half a day, plus a GitLab note in design.md and the README.Non GitLab for now. Everything else works; Renovate runs on its own schedule. Cost: none now, and this ticket waits.Recommendation: 1. It keeps
Non every forge, and GitLab's variables make the one-repo run easier to set up than on Forgejo.🤖 PM answered in session (2026-10-12): option 1. On GitLab the Renovate setting is the Renovate project's path;
Nstarts that project's pipeline on its default branch, a one-repo run passes the repo asRENOVATE_AUTODISCOVER_FILTER.🤖 Plan approved (engineering lead). Branch
feature/142-gitlab-renovate-run.Nstarts the Renovate project's pipeline on its default branch. A one-repo run sends the repo as the CI variableRENOVATE_AUTODISCOVER_FILTER. If GitLab refuses (for example, the pipeline's rules don't allow API-started pipelines), its reason is shown.renovate_workflowis a project path such asgroup/renovate-runner, and subgroups are allowed. Settings and onboarding refuse anything else with the hint "Use a project path, for example group/renovate-runner". Other forges are unchanged.🤖 MR open: #151
🤖 merged: #151