feat(renovate): tag every PR/issue with 'renovate' forge-wide #7

Closed
forgejo-actions wants to merge 2 commits from renovate/dashboard-labels into master

Goal (per review on #7)

what I want is renovate to apply the renovate label to every issue/pr it creates in every repository, the proposal seems to affect only this repo.

Two problems with the original proposal:

  1. Wrong leverdependencyDashboardLabels only tags the Dependency Dashboard issue, and used the label name dependencies. We want all PRs/issues, labelled renovate.
  2. Wrong scoperenovate.json is per-repo, so it only ever affects .profile. To reach every repo the rule must live in the self-hosted Renovate global config (alex/renovate-bot), not a single repo's file.

What changed here

renovate.json:

 {
   "$schema": "https://docs.renovatebot.com/renovate-schema.json",
-  "dependencyDashboard": true,
-  "dependencyDashboardLabels": ["dependencies"]
+  "labels": ["renovate"],
+  "dependencyDashboardLabels": ["renovate"]
 }
  • labels → applied to every PR/issue Renovate creates (this is the option the review actually asked for).
  • dependencyDashboardLabels → also pins renovate to the Dependency Dashboard issue specifically (the dashboard is an issue, and labels is PR-centric, so this covers it). It silently no-ops on repos where the dashboard isn't enabled, so it's safe to ship forge-wide.
  • Dropped dependencyDashboard: true — forcing a dashboard onto every repo is a separate decision and was out of scope for "label everything".
  • The renovate label was created on this repo via the API (id 2, #63a0e4).

How this becomes forge-wide (the missing piece)

This renovate.json is deliberately written as a Renovate preset. The one-line wiring that makes it apply to all repos lives in the self-hosted bot config (alex/renovate-bot), which this token can't touch:

// alex/renovate-bot  →  config.js (global / host config)
module.exports = {
  // ...existing platform, endpoint, token, autodiscover...
  extends: ['local>alex/.profile'],
};

local>alex/.profile resolves to this repo's renovate.json, so every repository the bot processes inherits labels/dependencyDashboardLabels. The policy stays version-controlled in git here; only the extends reference lives server-side.

Alternative if you'd rather not use a preset: set labels: ['renovate'] + dependencyDashboardLabels: ['renovate'] directly in that config.js. Same effect, but not in git.

Prerequisite that can't ship in a PR

Renovate applies labels but cannot create them — the option no-ops wherever renovate doesn't exist. The label exists on .profile already; for the other repos (pi-coding-agent-action, pi-shared, opengist-viewer, renovate-bot, base-template) it needs creating once each (UI → Issue Labels, or a quick API loop). The now-unused dependencies label on .profile can be deleted.

Refs #6.

## Goal (per review on #7) > what I want is renovate to apply the **renovate** label to **every issue/pr it creates in every repository**, the proposal seems to affect only this repo. Two problems with the original proposal: 1. **Wrong lever** — `dependencyDashboardLabels` only tags the Dependency Dashboard issue, and used the label name `dependencies`. We want *all* PRs/issues, labelled `renovate`. 2. **Wrong scope** — `renovate.json` is per-repo, so it only ever affects `.profile`. To reach *every* repo the rule must live in the **self-hosted Renovate global config** (`alex/renovate-bot`), not a single repo's file. ## What changed here `renovate.json`: ```diff { "$schema": "https://docs.renovatebot.com/renovate-schema.json", - "dependencyDashboard": true, - "dependencyDashboardLabels": ["dependencies"] + "labels": ["renovate"], + "dependencyDashboardLabels": ["renovate"] } ``` - **[`labels`](https://docs.renovatebot.com/configuration-options/#labels)** → applied to **every PR/issue** Renovate creates (this is the option the review actually asked for). - **[`dependencyDashboardLabels`](https://docs.renovatebot.com/configuration-options/#dependencydashboardlabels)** → also pins `renovate` to the Dependency Dashboard issue specifically (the dashboard is an *issue*, and `labels` is PR-centric, so this covers it). It silently no-ops on repos where the dashboard isn't enabled, so it's safe to ship forge-wide. - Dropped `dependencyDashboard: true` — forcing a dashboard onto every repo is a separate decision and was out of scope for "label everything". - The `renovate` label was created on this repo via the API (id 2, `#63a0e4`). ## How this becomes forge-wide (the missing piece) This `renovate.json` is deliberately written as a **Renovate preset**. The one-line wiring that makes it apply to *all* repos lives in the self-hosted bot config (`alex/renovate-bot`), which this token can't touch: ```js // alex/renovate-bot → config.js (global / host config) module.exports = { // ...existing platform, endpoint, token, autodiscover... extends: ['local>alex/.profile'], }; ``` `local>alex/.profile` resolves to this repo's `renovate.json`, so **every** repository the bot processes inherits `labels`/`dependencyDashboardLabels`. The policy stays version-controlled in git here; only the `extends` reference lives server-side. > Alternative if you'd rather not use a preset: set `labels: ['renovate']` + `dependencyDashboardLabels: ['renovate']` directly in that `config.js`. Same effect, but not in git. ## Prerequisite that can't ship in a PR Renovate **applies** labels but cannot **create** them — the option no-ops wherever `renovate` doesn't exist. The label exists on `.profile` already; for the other repos (`pi-coding-agent-action`, `pi-shared`, `opengist-viewer`, `renovate-bot`, `base-template`) it needs creating once each (UI → *Issue Labels*, or a quick API loop). The now-unused `dependencies` label on `.profile` can be deleted. Refs #6.
Enable the dependency dashboard and pin the 'dependencies' label to it
via dependencyDashboardLabels, which is always (re)applied to the
dashboard issue.

Refs #6
Owner

/pi what I want is renovate to apply the renovate label to every issue/pr it creates in every repository, the proposal seems to affect only this repo

/pi what I want is renovate to apply the renovate label to every issue/pr it creates in every repository, the proposal seems to affect only this repo
Replaces the dashboard-only 'dependencies' proposal with:

- labels: ["renovate"] -> applied to every PR/issue Renovate creates
- dependencyDashboardLabels: ["renovate"] -> pins it to the dashboard issue

This file is intended to be consumed as a forge-wide preset via
'local>alex/.profile' from the self-hosted renovate config, so the rule
applies to every repository rather than only this one (refs #6, #7).
forgejo-actions changed title from feat(renovate): label the Dependency Dashboard issue to feat(renovate): tag every PR/issue with 'renovate' forge-wide 2026-07-01 11:58:07 +00:00

Let me examine the actual PR branch content and the environment.I have access to the Forgejo API. Let me probe the environment to understand the forge scope and current labels.There's an alex/renovate-bot repo — that's likely where the self-hosted Renovate global config lives. Let me inspect it.Confirmed: the workflow token is scoped to .profile only, so the global Renovate config (which lives in alex/renovate-bot) is the real lever for forge-wide behavior — a per-repo renovate.json can't do that on its own. Let me make the changes: fix the option/label, create the renovate label here, and restructure .profile/renovate.json as a forge-wide preset.Label created (id 2) and renovate.json rewritten. Now commit and push to the PR branch.Now update the PR title and description to reflect the corrected direction.Pushed a4129b4 to the PR. Summary of what I changed and what's still needed:

What was wrong with the original proposal

  1. Wrong leverdependencyDashboardLabels only tags the Dependency Dashboard issue, and used the label dependencies. You want every PR/issue tagged renovate.
  2. Wrong scope — a repo's renovate.json only ever affects that one repo. To reach all repos, the rule must come from the self-hosted Renovate global config, not a per-repo file.

Changed in this PR

renovate.json now uses the right option and label name, written as a reusable preset:

{
  "$schema": "https://docs.renovatebot.com/renovate-schema.json",
  "labels": ["renovate"],
  "dependencyDashboardLabels": ["renovate"]
}
  • labelsevery PR/issue Renovate creates (what you actually asked for).
  • dependencyDashboardLabels → also covers the dashboard issue specifically (it's an issue, and labels is PR-centric); it no-ops on repos without a dashboard, so it's safe forge-wide.
  • Dropped dependencyDashboard: true (forcing a dashboard onto every repo is a separate decision and out of scope here).
  • Created the renovate label on .profile via the API (id 2, #63a0e4).

The missing piece — forge-wide wiring (I can't reach it from here)

This workflow token is scoped to .profile, so it can't edit alex/renovate-bot, where your global Renovate config lives. Add one line there so every repo inherits this preset:

// alex/renovate-bot → config.js
module.exports = {
  // ...existing platform/endpoint/token/autodiscover...
  extends: ['local>alex/.profile'],
};

local>alex/.profile reads this repo's renovate.json, so the policy stays version-controlled in git while applying everywhere. (If you'd rather skip the preset, you can instead put labels/dependencyDashboardLabels straight in that config.js — same effect, just not in git.)

One prerequisite

Renovate applies labels but can't create them — the option silently no-ops wherever renovate doesn't exist. It's on .profile now; it still needs creating once on each other repo (pi-coding-agent-action, pi-shared, opengist-viewer, renovate-bot, base-template). The unused dependencies label on .profile can be deleted.

Refs #6.


View action run | Model: zai/glm-5.2 (thinking: xhigh) | Time: 7m 44s | Tokens: 182.5K | Pi SDK v0.80.3 | Action v2.25.0-develop (develop @ 0e171ae)

Let me examine the actual PR branch content and the environment.I have access to the Forgejo API. Let me probe the environment to understand the forge scope and current labels.There's an `alex/renovate-bot` repo — that's likely where the self-hosted Renovate global config lives. Let me inspect it.Confirmed: the workflow token is scoped to `.profile` only, so the global Renovate config (which lives in `alex/renovate-bot`) is the real lever for forge-wide behavior — a per-repo `renovate.json` can't do that on its own. Let me make the changes: fix the option/label, create the `renovate` label here, and restructure `.profile/renovate.json` as a forge-wide preset.Label created (id 2) and `renovate.json` rewritten. Now commit and push to the PR branch.Now update the PR title and description to reflect the corrected direction.Pushed `a4129b4` to the PR. Summary of what I changed and what's still needed: ## What was wrong with the original proposal 1. **Wrong lever** — `dependencyDashboardLabels` only tags the Dependency Dashboard issue, and used the label `dependencies`. You want *every* PR/issue tagged `renovate`. 2. **Wrong scope** — a repo's `renovate.json` only ever affects that one repo. To reach *all* repos, the rule must come from the **self-hosted Renovate global config**, not a per-repo file. ## Changed in this PR `renovate.json` now uses the right option and label name, written as a **reusable preset**: ```json { "$schema": "https://docs.renovatebot.com/renovate-schema.json", "labels": ["renovate"], "dependencyDashboardLabels": ["renovate"] } ``` - [`labels`](https://docs.renovatebot.com/configuration-options/#labels) → **every PR/issue** Renovate creates (what you actually asked for). - [`dependencyDashboardLabels`](https://docs.renovatebot.com/configuration-options/#dependencydashboardlabels) → also covers the dashboard issue specifically (it's an *issue*, and `labels` is PR-centric); it no-ops on repos without a dashboard, so it's safe forge-wide. - Dropped `dependencyDashboard: true` (forcing a dashboard onto every repo is a separate decision and out of scope here). - Created the `renovate` label on `.profile` via the API (id 2, `#63a0e4`). ## The missing piece — forge-wide wiring (I can't reach it from here) This workflow token is scoped to `.profile`, so it can't edit `alex/renovate-bot`, where your global Renovate config lives. Add **one line** there so every repo inherits this preset: ```js // alex/renovate-bot → config.js module.exports = { // ...existing platform/endpoint/token/autodiscover... extends: ['local>alex/.profile'], }; ``` `local>alex/.profile` reads this repo's `renovate.json`, so the policy stays version-controlled in git while applying everywhere. (If you'd rather skip the preset, you can instead put `labels`/`dependencyDashboardLabels` straight in that `config.js` — same effect, just not in git.) ## One prerequisite Renovate applies labels but can't create them — the option silently no-ops wherever `renovate` doesn't exist. It's on `.profile` now; it still needs creating once on each other repo (`pi-coding-agent-action`, `pi-shared`, `opengist-viewer`, `renovate-bot`, `base-template`). The unused `dependencies` label on `.profile` can be deleted. Refs #6. --- [View action run](https://forge.l3x.in/alex/.profile/actions/runs/8) | Model: zai/glm-5.2 (thinking: xhigh) | Time: 7m 44s | Tokens: 182.5K | Pi SDK v0.80.3 | Action v2.25.0-develop (develop @ 0e171ae)
alex closed this pull request 2026-07-01 12:00:06 +00:00
alex deleted branch renovate/dashboard-labels 2026-07-01 12:00:12 +00:00

Pull request closed

Sign in to join this conversation.
No reviewers
No labels
dependencies
No milestone
No project
No assignees
2 participants
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
alex/.profile!7
No description provided.