|
6 | 6 | // github-actions managers open PRs for base images or action pins (out of scope). |
7 | 7 | enabledManagers: ['custom.regex'], |
8 | 8 |
|
9 | | - // Pin + auto-update the four dev tools these images used to pull from |
10 | | - // "latest" at build time. Replaces the old daily rebuild cron: a Renovate |
11 | | - // bump PR (auto-merged on green CI) triggers the existing push-based image |
12 | | - // build. No upstream release -> no PR -> no rebuild. |
| 9 | + // Pins tools these images used to pull at build time. Replaces the daily cron: |
| 10 | + // a bump PR triggers the push-based build. No release -> no PR -> no rebuild. |
13 | 11 | customManagers: [ |
14 | 12 | { |
15 | 13 | customType: 'regex', |
|
22 | 20 |
|
23 | 21 | packageRules: [ |
24 | 22 | { |
25 | | - // Most GitHub tags carry a leading "v" ("v0.48.0", "v29.8.1"); strip it so the |
26 | | - // datasource version matches the bare ARG value ("0.48.0"). A tag with no "v" |
27 | | - // passes through unchanged, so this is safe to apply datasource-wide. |
| 23 | + // Strip the leading "v" so tags match the bare ARG value. Tags without one |
| 24 | + // pass through unchanged, so this is safe datasource-wide. |
28 | 25 | matchDatasources: ['github-releases', 'github-tags'], |
29 | 26 | extractVersion: '^v?(?<version>.+)$', |
30 | 27 | }, |
31 | 28 | { |
32 | | - // Group the tracked tools into one PR and auto-merge once CI passes. |
33 | | - // |
34 | | - // Relies on Renovate's default platformAutomerge:true — GitHub's native |
35 | | - // auto-merge merges on green with no second Renovate run. The previous |
36 | | - // explicit platformAutomerge:false is what broke this: only a Renovate |
37 | | - // run could merge, and every run found a newer claude-code, force-pushed |
38 | | - // the branch and ended before CI finished (#121 sat green for 3.5 weeks). |
39 | | - // |
40 | | - // Requires: repo setting "Allow auto-merge", and a ruleset on master |
41 | | - // requiring the "CI complete" check (.github/workflows/ci.yml). Without |
42 | | - // that required check nothing blocks the PR, GitHub never offers native |
43 | | - // auto-merge, and Renovate silently falls back to the broken path. |
| 29 | + // One grouped PR, auto-merged on green via Renovate's default |
| 30 | + // platformAutomerge. Setting it false broke this before: only a Renovate run |
| 31 | + // could merge, and each run force-pushed a newer claude-code before CI |
| 32 | + // finished (#121 sat green 3.5 weeks). Requires "Allow auto-merge" plus a |
| 33 | + // master ruleset requiring the "CI complete" check, or it silently regresses. |
44 | 34 | matchPackageNames: [ |
45 | 35 | 'rtk-ai/rtk', |
46 | 36 | 'umputun/ralphex', |
|
57 | 47 | groupName: 'devcontainer tools', |
58 | 48 | automerge: true, |
59 | 49 |
|
60 | | - // These bumps merge unreviewed and publish straight to ghcr.io, so let a |
61 | | - // release soak before adopting it. internalChecksFilter defaults to |
62 | | - // 'strict', so a too-young version is simply not offered yet — the group |
63 | | - // PR carries whichever tools are currently eligible. |
| 50 | + // These merge unreviewed and publish straight to ghcr.io, so let releases |
| 51 | + // soak. Too-young versions are simply not offered; the PR carries the rest. |
64 | 52 | minimumReleaseAge: '3 days', |
65 | 53 | }, |
66 | 54 | { |
|
70 | 58 | minimumReleaseAge: null, |
71 | 59 | }, |
72 | 60 | { |
73 | | - // ralphex-fe bakes its toolchain into the image — it has no mise, and |
74 | | - // its published tag is literally bun<BUN>-hugo<HUGO>. So these are |
75 | | - // image-level versions, not per-project ones, and there is no other |
76 | | - // place to set them. Bun uses the npm datasource because oven-sh/bun |
77 | | - // tags releases as "bun-v1.4.2", which the github-releases extractVersion |
78 | | - // above does not strip. |
| 61 | + // ralphex-fe has no mise and its tag is literally bun<BUN>-hugo<HUGO>, so |
| 62 | + // these are image-level versions. Bun uses npm: its tags are "bun-v1.4.2", |
| 63 | + // which the extractVersion above does not strip. |
79 | 64 | matchPackageNames: ['bun', 'gohugoio/hugo'], |
80 | 65 | groupName: 'ralphex-fe toolchain', |
81 | 66 | automerge: true, |
82 | 67 | minimumReleaseAge: '3 days', |
83 | 68 | }, |
84 | 69 | { |
85 | | - // hugo-bun-node installs Node from the unofficial musl builds — its base |
86 | | - // image (oven/bun:*-alpine) ships no node at all. The image is Node 24 LTS |
87 | | - // by design, so major bumps stay a deliberate call, not a Renovate PR. |
| 70 | + // hugo-bun-node's alpine base ships no node, so it installs the musl build. |
| 71 | + // Node 24 LTS by design — majors stay a deliberate call. |
88 | 72 | matchDatasources: ['node-version'], |
89 | 73 | allowedVersions: '^24', |
90 | 74 | }, |
|
0 commit comments