|
2 | 2 | type: repo |
3 | 3 | title: bfra-me/renovate-action |
4 | 4 | created: 2026-05-20 |
5 | | -updated: 2026-10-02 |
| 5 | +updated: 2026-10-18 |
6 | 6 | sources: |
| 7 | + - url: https://github.com/bfra-me/renovate-action |
| 8 | + sha: 1fedb47e67fdf65dea1f3acc7590b4e0761fe28a |
| 9 | + accessed: 2026-10-18 |
7 | 10 | - url: https://github.com/bfra-me/renovate-action |
8 | 11 | sha: b214c0b1b1a1803e94ff36b9cafffc610e8b33dc |
9 | 12 | accessed: 2026-10-02 |
@@ -68,6 +71,125 @@ node_id: R_kgDOKWu8zQ |
68 | 71 |
|
69 | 72 | # bfra-me/renovate-action |
70 | 73 |
|
| 74 | +## Event-specific prompt and credential contracts (2026-10-18) |
| 75 | + |
| 76 | +At the same public `main` snapshot `1fedb47e67fdf65dea1f3acc7590b4e0761fe28a`, |
| 77 | +the Fro Bot workflow distinguishes job admission, custom prompt selection, and |
| 78 | +checkout credential persistence. These are separate predicates: |
| 79 | + |
| 80 | +| Event admitted by the job guard | Workflow-supplied `PROMPT` | Persist checkout credentials | |
| 81 | +| --- | --- | --- | |
| 82 | +| `pull_request` | `PR_REVIEW_PROMPT` | No | |
| 83 | +| `schedule` | `AUTOHEAL_PROMPT` | Yes | |
| 84 | +| `workflow_dispatch` | Nonempty custom input first; otherwise autoheal | Yes | |
| 85 | +| `issues` | Empty | No | |
| 86 | +| Non-PR `issue_comment` with trusted mention | Empty | No | |
| 87 | +| Trusted `pull_request_review_comment` or `discussion_comment` mention | Empty | Yes | |
| 88 | + |
| 89 | +The dispatch review-mode guard rejects an empty custom prompt before the |
| 90 | +agent runs. Ordinary PR conversation `issue_comment` events are excluded by |
| 91 | +the job guard's `github.event.issue.pull_request == null` condition, even |
| 92 | +though checkout contains a PR-issue ref expression. Review-line comments are |
| 93 | +a distinct admitted event. `workflow_call` is declared with a required prompt, |
| 94 | +and the selector has a custom-prompt arm for that name; this survey does not |
| 95 | +exercise reusable-call event-context behavior. |
| 96 | + |
| 97 | +**Clarification of the historical credential shorthand:** persistence is |
| 98 | +disabled on exactly `pull_request`, `issue_comment`, and `issues`, not on every |
| 99 | +review/comment trigger. Review-line and discussion comments are outside that |
| 100 | +denylist. An empty workflow prompt on an admitted event delegates to the |
| 101 | +action's event handling; it does not prove an empty effective task or a failed |
| 102 | +response. Likewise, persistence does not establish an authorized write, and |
| 103 | +the action separately receives `github-token` on every admitted event. No |
| 104 | +action implementation, event payload, execution log, or response was read. |
| 105 | +See [[github-actions-ci]] for the event-matrix audit pattern. |
| 106 | + |
| 107 | +Source: [Fro Bot workflow](https://github.com/bfra-me/renovate-action/blob/1fedb47e67fdf65dea1f3acc7590b4e0761fe28a/.github/workflows/fro-bot.yaml). |
| 108 | + |
| 109 | +## Permitted-source refresh (2026-10-18) |
| 110 | + |
| 111 | +Public `main` at `1fedb47e67fdf65dea1f3acc7590b4e0761fe28a` retains nine |
| 112 | +workflows and the composite-action, Docker, TypeScript, committed-dist, and |
| 113 | +Astro/Starlight documentation layout. Evidence here is limited to directory |
| 114 | +listings, root/docs READMEs and package manifests, `action.yaml` (the action |
| 115 | +manifest), and all nine workflow files. No entrypoint, source/test body, |
| 116 | +configuration file, release history, issue, PR, or run was inspected. Earlier |
| 117 | +dated observations remain historical unless explicitly reconfirmed here. |
| 118 | + |
| 119 | +### Runtime authority versus version copy |
| 120 | + |
| 121 | +The action manifest now pins Renovate **44.166.0**, matching the root README's |
| 122 | +release link. It still declares `runs.using: composite` and invokes |
| 123 | +`renovatebot/github-action` **v46.3.1** with `docker-cmd-file` pointing to |
| 124 | +`docker/entrypoint.sh`, `docker-user: root`, and Docker-socket mounting enabled. |
| 125 | +GitHub App token creation advances to **v3.3.0**. The entrypoint's contents and |
| 126 | +installed tools were not reread; matching paths do not prove unchanged code. |
| 127 | + |
| 128 | +The documentation contradiction persists: root examples use `@v9`, the notes |
| 129 | +describe Renovate v43, and the docs README calls v9 current. The manifest still |
| 130 | +warns that Docker removal is planned for v10 and rejects non-container modes |
| 131 | +with v9 wording. These sources do not establish a new action release number |
| 132 | +or a revised removal horizon; they reconfirm Docker execution and stale copy |
| 133 | +against the accumulated v10 history below. |
| 134 | + |
| 135 | +The private ESM root manifest declares Node **24.22.0**, pnpm **11.28.5**, |
| 136 | +TypeScript **6.0.3**, ESLint **10.12.0**, Prettier **3.9.10**, and Vitest |
| 137 | +**4.1.11**; `@actions/core` **3.0.1** remains its sole runtime dependency. |
| 138 | +The docs package retains Astro `^7.0.0`, Starlight `^0.42.0`, and Sharp |
| 139 | +`^0.35.0`. Declared ranges are not installed-version evidence, and the root's |
| 140 | +`0.0.0-semantic-release` value is not a published release. |
| 141 | + |
| 142 | +### Cache opt-in is not enforced on the push branch |
| 143 | + |
| 144 | +**Correction to the broad cache description below:** restore and prepare are |
| 145 | +gated on `enable-cache == 'true'`, but finalization and save each use: |
| 146 | + |
| 147 | +```text |
| 148 | +(success() || failure()) && enable-cache == 'true' && cache-hit != 'true' |
| 149 | + || github.event_name == 'push' |
| 150 | +``` |
| 151 | + |
| 152 | +With `&&` binding more tightly than `||`, the push branch bypasses both the |
| 153 | +cache opt-in and cache-hit checks. Thus `cache: false` does not exclude these |
| 154 | +two steps on push events. Finalization contains cache deletion and ownership |
| 155 | +adjustment; save targets the configured cache directory. This is a static |
| 156 | +condition finding, not evidence that a cache was actually deleted or saved. |
| 157 | +The smallest follow-up is to keep opt-in outside the grouped hit/push |
| 158 | +alternative and verify the event × opt-in × hit truth table. See |
| 159 | +[[github-actions-ci]] for the cross-cutting guard pattern. |
| 160 | + |
| 161 | +### Workflow delivery and validation boundaries |
| 162 | + |
| 163 | +**Fro Bot is present**, now at agent **v0.123.0** (`1529cc2e`), retaining its |
| 164 | +03:30 UTC daily schedule, `review`/`autoheal` choices, six categories, and |
| 165 | +rotating daily-report prompt. `Run Fro Bot` remains the last step, with no |
| 166 | +explicit `output-mode` or caller-side file-delivery steps. Credential |
| 167 | +persistence remains event-scoped. This reconfirms the October 2 static gap; |
| 168 | +it does not establish effective runtime mode, missing PRs, or report health. |
| 169 | + |
| 170 | +`Main` still runs the local-action self-test only on default-branch pushes |
| 171 | +whose self-test filter matches, passing `dry-run: true`; the action manifest |
| 172 | +confirms that maps to `RENOVATE_DRY_RUN=extract`. Rebuilding the action and |
| 173 | +checking committed output are separate conditions: build runs for pushes or |
| 174 | +`src-changed`, while the diff assertion requires `dist-changed`. The external |
| 175 | +filter definitions were not read, so source-only drift coverage is unresolved. |
| 176 | +Renovate and post-release org dispatch now call `bfra-me/.github` **v4.39.0**; |
| 177 | +settings sync remains correctly pathed at **v4.16.0** with its daily 08:51 UTC |
| 178 | +cron. Renovate has no independent schedule in its local workflow. The release |
| 179 | +alert still requires a failed `Release` job and discovers reports through |
| 180 | +label AND marker, with a 100-issue lookup cap. None of these declarations |
| 181 | +proves recent execution success or failure. |
| 182 | + |
| 183 | +Sources: [tree](https://github.com/bfra-me/renovate-action/tree/1fedb47e67fdf65dea1f3acc7590b4e0761fe28a), |
| 184 | +[action manifest](https://github.com/bfra-me/renovate-action/blob/1fedb47e67fdf65dea1f3acc7590b4e0761fe28a/action.yaml), |
| 185 | +[README](https://github.com/bfra-me/renovate-action/blob/1fedb47e67fdf65dea1f3acc7590b4e0761fe28a/README.md), |
| 186 | +[root manifest](https://github.com/bfra-me/renovate-action/blob/1fedb47e67fdf65dea1f3acc7590b4e0761fe28a/package.json), |
| 187 | +[docs README](https://github.com/bfra-me/renovate-action/blob/1fedb47e67fdf65dea1f3acc7590b4e0761fe28a/docs/README.md), |
| 188 | +[docs manifest](https://github.com/bfra-me/renovate-action/blob/1fedb47e67fdf65dea1f3acc7590b4e0761fe28a/docs/package.json), |
| 189 | +[Main](https://github.com/bfra-me/renovate-action/blob/1fedb47e67fdf65dea1f3acc7590b4e0761fe28a/.github/workflows/main.yaml), |
| 190 | +[Fro Bot](https://github.com/bfra-me/renovate-action/blob/1fedb47e67fdf65dea1f3acc7590b4e0761fe28a/.github/workflows/fro-bot.yaml), |
| 191 | +[workflows](https://github.com/bfra-me/renovate-action/tree/1fedb47e67fdf65dea1f3acc7590b4e0761fe28a/.github/workflows). |
| 192 | + |
71 | 193 | ## Current permitted-source snapshot (2026-10-02) |
72 | 194 |
|
73 | 195 | At public `main` SHA `b214c0b1b1a1803e94ff36b9cafffc610e8b33dc`, the tree |
|
0 commit comments