Skip to content

Commit 88a2161

Browse files
authored
docs: describe the four agent tools as pinned, not always-latest (#120)
#116 pinned rtk, ralphex, the Claude Code CLI and agent-browser as Renovate-managed ARGs but corrected only the rebuild-cadence wording, leaving the version-pinning claims stale. - ralphex-fe: replace the three "latest" rows with pinned versions and add an Automatic Rebuilds section — the image had no rebuild-trigger docs at all, which is why its stale rows never surfaced in a "daily" grep. Records that an agent-tool bump overwrites the bun-hugo tag rather than minting a new one, since the version tag derives from Bun and Hugo only. - claude-code: drop "Always-latest from GitHub Releases" and "pre-installed at latest"; fix AGENT_BROWSER_VERSION's default and document the three build args #116 added but never listed. - root: document the Renovate path above the manual dispatch path, state what stays manual (base images, Bun/Hugo), and record the Mend portal toggles — Silent mode off, Automated PRs on — that a correct config still depends on. Silent mode (dryRun=lookup) suppresses PRs and every issue including the Dependency Dashboard, making a working config indistinguishable from a broken one; `mode` in renovate.json5 cannot override it because dryRun takes precedence. Closes #119
1 parent 5e7fff3 commit 88a2161

3 files changed

Lines changed: 54 additions & 6 deletions

File tree

‎README.md‎

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -152,6 +152,32 @@ Images from this repository are built and published to GitHub Container Registry
152152

153153
## Updating Image Versions
154154

155+
### Automatically, via Renovate
156+
157+
The agent tooling in the `claude-code` and `ralphex-fe` images — `rtk`, `ralphex`, the Claude Code
158+
CLI, and `agent-browser` — is pinned as `ARG`s carrying `# renovate:` annotations. Renovate watches
159+
their releases and opens a single grouped bump PR when one ships; CI verifies it, it auto-merges, and
160+
that merge rebuilds the affected images. No upstream release means no PR and no rebuild. Scope and
161+
grouping live in [`.github/renovate.json5`](./.github/renovate.json5); the Dependency Dashboard
162+
issue tracks what is pending. Everything else — including base images and Bun/Hugo — stays manual.
163+
164+
> **Setup requirement — Mend portal toggles.** Installing the Renovate app with "All repositories"
165+
> makes Mend default the repo to **Silent mode** (`dryRun=lookup`), where it scans and shows updates
166+
> in the [developer portal](https://developer.mend.io/) but opens no PRs and creates no issues — not
167+
> even the Dependency Dashboard, and not even a config-warning issue. The symptom is a correct
168+
> config that appears to do nothing. In the portal, under *Repo Engine Settings → Dependency
169+
> Updates*, set:
170+
>
171+
> | Toggle | Value |
172+
> |--------|-------|
173+
> | Silent mode | **off** |
174+
> | Automated PRs | **on** |
175+
> | Require config file | on — with an all-repositories install, this is what keeps Renovate off repos that have no config |
176+
> | Create onboarding PRs | off — this repo already has a config, so no onboarding PR is needed |
177+
>
178+
> Setting `mode` in `renovate.json5` cannot substitute for the Silent-mode toggle, because `dryRun`
179+
> takes precedence over `mode` and is admin-level.
180+
155181
### Via GitHub UI
156182

157183
Some images have automated update workflows that allow you to update dependency versions without manually editing Dockerfiles:

‎claude-code/README.md‎

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ Projects consume these pre-built images and control their own tool versions via
1919
| Shell | Fish, Starship, fzf | Built-in syntax highlighting, autosuggestions, completions |
2020
| Tools | git-delta, gh CLI, jq, nano, vim, wget, unzip, less, man-db, procps, openssh-client | Standard dev utilities (`openssh-client` provides `ssh`/`ssh-keygen` — enables SSH-format commit signing) |
2121
| Mise | The tool manager itself (not the tools) | Projects run `mise install` at container creation for their tool versions |
22-
| rtk, ralphex | Always-latest from GitHub Releases | Dev infrastructure (like Claude Code) — no version pinning needed in projects |
22+
| rtk, ralphex | Pinned `ARG`s, bumped by Renovate on each GitHub release | Dev infrastructure (like Claude Code) — the image tracks the versions so projects don't have to |
2323
| Claude Code | npm global install | npm avoids rate limiting that affects the native installer in parallel CI builds |
2424

2525
**Both targets:** system Chromium + `fonts-freefont-ttf` (used by Playwright and the Playwright MCP plugin via `/usr/bin/chromium`)
@@ -76,7 +76,7 @@ Projects consuming these images need the following files in their repository.
7676

7777
### Required: `.mise.toml` (project root)
7878

79-
Only pin tools that affect project stability — dev infrastructure (rtk, ralphex, Claude Code) is pre-installed in the image at latest. See [`mise.toml`](mise.toml) for a template.
79+
Only pin tools that affect project stability — dev infrastructure (rtk, ralphex, Claude Code) is pre-installed in the image, which tracks their releases for you. See [`mise.toml`](mise.toml) for a template.
8080

8181
### Optional: `.devcontainer/init-plugins.sh`
8282

@@ -405,7 +405,13 @@ cat ~/.claude/plugins/cache/claude-plugins-official/playwright/*/.mcp.json
405405
| Arg | Default | Description |
406406
|-----|---------|-------------|
407407
| `GIT_DELTA_VERSION` | `0.18.2` | git-delta version |
408-
| `AGENT_BROWSER_VERSION` | `latest` | agent-browser version (default target only) |
408+
| `RTK_VERSION` | `0.43.0` | rtk version (Renovate-managed) |
409+
| `RALPHEX_VERSION` | `1.6.0` | ralphex version (Renovate-managed) |
410+
| `CLAUDE_CODE_VERSION` | `2.1.216` | Claude Code CLI version (Renovate-managed) |
411+
| `AGENT_BROWSER_VERSION` | `0.32.3` | agent-browser version, default target only (Renovate-managed) |
412+
413+
The four Renovate-managed args carry `# renovate:` annotations in the Dockerfile; edit them by
414+
hand only for a local build. Bumps land as auto-merged PRs — see [Automatic Rebuilds](#automatic-rebuilds).
409415
410416
## Building Locally / Local Fallback
411417

‎ralphex-fe/README.md‎

Lines changed: 19 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,15 @@ This is a standalone image, not a devcontainer.
1616
| Go | for Hugo Modules |
1717
| Python 3 | system |
1818
| Playwright + Chromium | native Debian |
19-
| Claude Code CLI | latest |
20-
| RTK | latest (GitHub Releases) |
21-
| Ralphex | latest (GitHub Releases) |
19+
| Claude Code CLI | 2.1.216 (pinned) |
20+
| RTK | 0.43.0 (pinned) |
21+
| Ralphex | 1.6.0 (pinned) |
2222
| Git, ripgrep, jq, curl, wget | system |
2323

24+
The pinned versions live as `ARG`s in the Dockerfile and are kept current by Renovate — see
25+
[Automatic Rebuilds](#automatic-rebuilds). Bun and Hugo are bumped manually via the
26+
`update-and-build-ralphex-fe.yml` workflow.
27+
2428
## Usage
2529

2630
### Via ralphex docker-wrapper
@@ -63,6 +67,18 @@ docker build -t ralphex-fe:test ralphex-fe/
6367

6468
Note: this image deviates from the standalone convention of a single primary version tag because it bundles multiple independently-versioned tools.
6569

70+
## Automatic Rebuilds
71+
72+
The image rebuilds when one of its pinned tools — Claude Code, rtk, or ralphex — publishes a
73+
new release: Renovate opens a version-bump PR against the `ARG`s in the Dockerfile, CI verifies
74+
it, it auto-merges, and that merge triggers the build. No upstream release means no rebuild —
75+
there is no longer a daily cron. Manual rebuilds run from the "Run workflow" button on
76+
**Build ralphex-fe** in the Actions tab.
77+
78+
Because the version tag is derived from Bun and Hugo only, an agent-tool bump refreshes
79+
`latest` and *overwrites* the existing `bun{VERSION}-hugo{VERSION}` tag rather than creating a
80+
new one. Pull `latest` if you want the current agent tools.
81+
6682
## Architecture / Provenance
6783

6884
| File / Pattern | Source |

0 commit comments

Comments
 (0)