Skip to content

Update github-actions dependencies - #4684

Merged
renovate[bot] merged 1 commit into
mainfrom
renovate/github-actions
Aug 26, 2026
Merged

Update github-actions dependencies#4684
renovate[bot] merged 1 commit into
mainfrom
renovate/github-actions

Conversation

@renovate

@renovate renovate Bot commented Aug 10, 2026

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Type Update Change Pending
Kesin11/actions-timeline action minor v3.1.1v3.2.0
Swatinem/rust-cache (changelog) action digest e18b4976323deb
docker/login-action (changelog) action digest abd2ef4dbcb813
go uses-with patch 1.26.51.26.6 1.27.0 (+1)
release-drafter/release-drafter (changelog) action digest eada3c934d8067

Release Notes

Kesin11/actions-timeline (Kesin11/actions-timeline)

v3.2.0

Compare Source

Changes

Support new parallel syntax.

Similar to composite action expansion, an overall parent span is created for steps executed in parallel. Child span names for steps running in parallel in the background are prefixed with (bg).

Sample screenshot:
https://github.com/user-attachments/assets/d92027fc-ded2-4b6e-9ab0-e3923b698ec3

Features

Fixes

Dependencies

13 changes

Internal improvement

v3.2

Compare Source

actions/go-versions (go)

v1.26.6: 1.26.6

Compare Source

Go 1.26.6


Configuration

📅 Schedule: (in timezone Etc/UTC)

  • Branch creation
    • "after 5pm on monday"
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Enabled.

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate Bot added the dependencies Pull requests that update a dependency file label Aug 10, 2026
@renovate
renovate Bot requested a review from a team as a code owner August 10, 2026 21:40
@renovate
renovate Bot enabled auto-merge (squash) August 10, 2026 21:41
@claude

claude Bot commented Aug 10, 2026

Copy link
Copy Markdown

Dependency bump review — reviewed, looks clean ✅

Verified each pinned digest against upstream and read the commit log for every bumped range. No findings.

Digest / comment accuracy

Action New pin Resolves to Comment
docker/login-action dbcb813 current tip of tag v4 # v4
release-drafter/release-drafter 34d8067 tag v7 (annotated) = v7.7.0 # v7
Kesin11/actions-timeline 57fc93f tag v3.2.0 # v3.2.0 ✅ (correctly updated from v3.1.1)

All references in .github/ were updated consistently — no stale pins left behind (login-action appears in 4 workflows, all bumped).

Regression analysis

docker/login-action abd2ef4dbcb813 (18 commits, mostly Dependabot). Two functional changes, both unreachable from our usage:

  • 8305724 harden buildx scoped config path handlingscopeToConfigDir() now path.resolves and throws on paths escaping the buildx config dir, on more than one @ in the scope, or on non-lowercase scope actions. Only reachable when the scope input is set; all four call sites pass only registry/username/password, so the function short-circuits to ''.
  • 2aa1ede surface Docker Hub OIDC error responsesparseError no longer short-circuits on 401 before parsing the body, and now JSON.stringifys the entire error body instead of extracting known keys. This only runs on the Docker Hub OIDC path (login to docker.io without credentials); all four usages target ghcr.io with an explicit username/password, so it never executes. Flagged for awareness since it widens what a failed login can echo into the log — but the payload is a Docker Hub API error response, not credentials, and the path isn't exercised here.

release-drafter v7.6.0v7.7.0 (20 commits). The highest-risk changes sit on the PR-discovery path this repo actually uses:

  • #1679 replaced the hand-rolled paginateGraphql helper with @octokit/plugin-paginate-graphql, and #1680 added @octokit/plugin-retry for transient API failures. That rewrite of getOctokit() dropped the explicit fetch: global.fetch#1682 preserve proxy-aware fetch in octokit client fixes the fallout and is included in this range, so the regression window is already closed.
  • New features are opt-in and inert for our config (.github/release-drafter.yml is just template/version-resolver/name-template/tag-template): the conventional: category predicate (#1556) requires a categories: block we don't define, and no-new-contributor-template (#1687) only affects $NEW_CONTRIBUTORS, which our template doesn't use. parse-categories also stopped spreading changeConditionSchemaDefaults into when branches — again, categories-only.
  • #1674 now emits one Config fetched … line per config source, including owner/repo/filepath@ref. Paths only — no token or secret material.
  • No schema fields became required, so our existing config still validates. No regression reports upstream; only two markdown-formatting commits landed after the tag.

Kesin11/actions-timeline v3.1.1v3.2.0. Adds rendering for GitHub's new parallel: step syntax. The one change touching existing behaviour is #363, which adds if (apiStep.timelineRowKind === "parallel-parent") continue; to identifyCompositeSteps — relevant because tilt-flow.yml sets expand-composite-actions: true, but the synthetic parallel-parent row only exists for jobs using parallel: steps, which no workflow here does. Effectively a no-op for us. No issues filed upstream since release.

Secrets / PII

The diff itself adds no new stdout, stderr, or log output. The two upstream log-surface changes noted above (login-action OIDC error body, release-drafter config-source logging) neither print credentials nor run on paths this repo exercises.

@renovate
renovate Bot force-pushed the renovate/github-actions branch from b725156 to f9ba29f Compare August 11, 2026 16:33
@claude

claude Bot commented Aug 11, 2026

Copy link
Copy Markdown

Renovate bump review — no findings

Reviewed per .claude/REVIEW.md. All four bumps are clean for how this repo uses them. Details below so the analysis is auditable.

1. Pin integrity — all four SHAs match their claimed tags

Action Pinned SHA Resolves to Comment accurate?
Kesin11/actions-timeline 57fc93f2 tag v3.2.0 # v3.2.0
docker/login-action dbcb8138 tag v4.6.0 == current v4 # v4
github/codeql-action 5595ccaf annotated tag v4.37.6 == current v4 # v4
release-drafter/release-drafter 34d80673 annotated tag v7.7.0 == current v7 # v7

(The codeql-action and release-drafter refs are annotated tags, so git/ref/tags/... returns a tag object that must be dereferenced — both deref to exactly the pinned commits. No unreleased or off-branch commits are being pinned.)

2. Upstream regression analysis

Kesin11/actions-timeline v3.1.1 → v3.2.0 (37 commits) — adds rendering for the new GitHub parallel: step syntax, which introduces a new API call: downloadJobLogsForWorkflowRun. Worth a look because tilt-flow.yml (the only consumer) sets an explicit permissions: block with id-token: write / contents: read and no actions: read, so a new log-download call could have started warning. It does not: expandParallelSteps early-returns unless a job contains a step literally named Parallel group, and no workflow in this repo uses parallel: syntax — the new path never executes. Even if it did, download failures degrade to a warning() annotation plus the standard timeline layout, never a step failure. Also checked against the secrets-in-logs rule: the new code extracts only step names from log group markers (and GH masks secrets regardless) — relevant since tilt-flow.yml carries a large workflow-level secret env block, but moot as the path is unreachable here.

docker/login-action → v4.6.0 (18 commits) — two real source changes:

  • src/dockerhub.ts: parseError now dumps the entire JSON error body via JSON.stringify instead of cherry-picking description/message/detail/error, and the 401 short-circuit moved after body parsing, so a 401 with a JSON body now surfaces its content. This is the only change in the whole PR touching the "no secrets in logs" rule. Not reachable here: all four usages are registry: ghcr.io with static username/password, and dockerhub.ts is exercised only on the Docker Hub OIDC token-exchange path. (The surfaced body is the Docker Hub API error JSON, not the credential.) Flagging for awareness if anyone later adds a Docker Hub OIDC login.
  • src/context.ts: scopeToConfigDir hardened against path traversal and now throws on scopes with more than one @ or with non-lowercase action lists. No workflow uses the scope input → no impact.

github/codeql-action v4.37.3 → v4.37.6 (133 commits) — user-facing changes: default bundle → CodeQL 2.26.2; a fix for a network error while streaming the bundle download aborting init instead of falling back; new github-codeql-tools repository-property support; and DEFAULT_CONFIG_FILE_NAME for the new remote config-file address format changed to .github/codeql-config.yml. That last one is the only behavioral change that could bite, and only for users of the remote config-file format — codeql-analysis.yml passes no config-file, so no impact. The 2.26.2 bundle may shift alert counts, which is normal for a CodeQL bump. Non-defect note: the workflow supplies no tools input, so if the org ever sets the github-codeql-tools repo property it would now apply to this advanced-setup workflow.

release-drafter → v7.7.0 (20 commits) — features: conventional-commit-title categorization (#1556), retry on transient GitHub API failures, an Octokit GraphQL pagination refactor, a proxy-aware fetch fix, and a "no new contributors" template. The categorization is opt-in (a new conventional predicate inside categories conditions); .github/release-drafter.yml defines no categories — only template/version-resolver/name-template/tag-template — so drafted notes keep their current shape. The new "log all config sources" change (#1674) logs only owner/repo/filepath@ref, no secrets.

Verdict

No inline findings. No secret/PII exposure introduced on any reachable path, and no behavioral regression given this repo's configuration.

@renovate
renovate Bot force-pushed the renovate/github-actions branch from f9ba29f to 2e5f29c Compare August 12, 2026 05:27
@claude

claude Bot commented Aug 12, 2026

Copy link
Copy Markdown

Renovate bump review — looks clean ✅

Reviewed per .claude/REVIEW.md. No findings; nothing blocking. Details below so the verification is on the record.

Pin integrity — every new SHA was resolved against the upstream repo and matches the version in its trailing comment (annotated tags dereferenced):

Action New SHA Resolves to
Kesin11/actions-timeline 57fc93f v3.2.0 / v3.2 / v3
docker/login-action dbcb813 v4.6.0 / v4
github/codeql-action 5595cca v4 (v4.37.6) ✔
release-drafter/release-drafter 34d8067 v7 (v7.7.0) ✔

All four ranges are fast-forwards (status: ahead, behind_by: 0), and grep over .github/ confirms no stale pins of these actions were left behind.

Upstream changes in each bumped range, against how we actually use them:

  • docker/login-action abd2ef4…dbcb813 (18 commits, → v4.6.0). Two behavioral commits plus dep bumps (aws-sdk, js-yaml, postcss, brace-expansion).
    • surface Docker Hub OIDC error responses rewrites parseError in src/dockerhub.ts to throw the entire raw JSON body (JSON.stringify(errResp)) instead of extracting only known message fields, and demotes the 401 → "operation not permitted" special case to a fallback. Flagging it because REVIEW.md's first rule is about new output that could carry secrets — but this path is getOIDCToken, reached only for Docker Hub OIDC login (registry: docker.io, no password). All five of our call sites use registry: ghcr.io with an explicit username/password, so the code path is unreachable here. The body is also an OAuth-style error object (error/error_description/error_uri), not a token.
    • harden buildx scoped config path handling adds path-traversal validation to scopeToConfigDir and now throws on scopes/registries that escape the buildx config dir. We pass no scope input, so scopeToConfigDir short-circuits to '' — no impact.
  • github/codeql-action e4fba86…5595cca (v4.37.3 → v4.37.6). Changelog: default CodeQL bundle 2.26.1 → 2.26.2; a fix so a network error while streaming the bundle download falls back instead of killing init (chore(deps): update temporalio/ui docker tag to v2.47.3 #4061); tools input settable via the github-codeql-tools repo property (fix e2e test #4037, opt-in, and a workflow-supplied tools still wins); and DEFAULT_CONFIG_FILE_NAME changed to .github/codeql-config.yml (classification: mongo disconnect should alert internal #4070) — that only affects the new remote config-file address format, and codeql-analysis.yml passes no config-file, so it's a no-op for us. Only expected effect is the usual one: the 2.26.2 bundle may shift alert results on the go / javascript-typescript matrix legs.
  • release-drafter eada3c9…34d8067 (20 commits, → v7.7.0). The notable feature is feat: categorize PRs based on conventional title (UI: Add create mirror buttons #1556) — it adds an opt-in conventional predicate to category conditions; our .github/release-drafter.yml defines no categories at all (just template/version-resolver/name-template/tag-template), so drafted notes are unchanged. Rest is a GraphQL pagination refactor (BigQuery: Improve intermediate Avro methods #1679) + GraphQL 17 support (fix ci #1678), transient-API-failure retries (Incontinency whit Postgres Schemas with double qutes #1680), and PopulateCountMap: use atomics #1682 which fixes the proxy-aware-fetch regression introduced by that refactor — the regression and its fix are both inside this range, so we don't land a half-baked state. swapping out custom error for errors.ErrUnsupported #1674 adds per-source config logging; I checked the patch, it logs repo/path/ref only, no token material. Existing contents: write + pull-requests: write permissions remain sufficient.
  • Kesin11/actions-timeline v3.1.1 → v3.2.0. Adds rendering for GitHub's new parallel: step syntax. Worth noting the new expandParallelSteps runs unconditionally (not gated behind our expand-composite-actions: true) and fetches job logs — but it short-circuits immediately unless a job has a step literally named Parallel group, which no PeerDB workflow produces today. So: zero extra API calls, zero output change for tilt-flow.yml. Failures are caught per-job and downgraded to warning() + a summary note rather than thrown, so it can't fail the job even once that changes. No action.yml change, so no new inputs or permissions are required — relevant since tilt-flow.yml grants only id-token: write + contents: read.

No new logging of credentials or PII is introduced on any path this repo exercises.

@renovate
renovate Bot force-pushed the renovate/github-actions branch from 2e5f29c to 4cf47e2 Compare August 12, 2026 18:56
@claude

claude Bot commented Aug 12, 2026

Copy link
Copy Markdown

Dependency bump review — no findings

Reviewed per .claude/REVIEW.md. All four pins were verified against upstream tags, and each behavioral change in the bumped ranges was traced to its call sites in this repo. No regressions or secret/PII logging found. Also confirmed no stale copies of the old digests remain anywhere in the repo.

Digest ↔ tag verification

Action Old → New Resolves to
Kesin11/actions-timeline 7bf799957fc93f v3.2.0 tag (and v3) ✅
docker/login-action abd2ef4dbcb813 v4.6.0 tag (was v4.5.1) ✅
github/codeql-action e4fba865595cca v4 tag = v4.37.6 (was v4.37.3) ✅
release-drafter eada3c934d8067 v7.7.0 tag (was v7.6.0) ✅

Every pin is an ancestor-clean fast-forward (status: ahead, behind_by: 0), and each version comment matches the resolved tag.

Regression analysis

Kesin11/actions-timeline v3.1.1 → v3.2.0 — adds parallel: step rendering (#362). This introduces a new API call, downloadJobLogsForWorkflowRun (src/github.ts), to derive parallel children from log markers. Two reasons that is a non-issue for tilt-flow.yml:

  • expandParallelSteps early-returns when no job contains a parallel group (src/parallel.ts:205), and tilt-flow.yml uses no parallel: syntax, so the log fetch never runs. Relevant because that job grants only contents: read / id-token: write, no actions: read.
  • Even if reached, the fetch is wrapped in try/catch that degrades to a warning (src/parallel.ts:218), so it cannot fail the step.

Worth noting that #363 (composite: skip synthetic parallel parents) fixes the interaction between #362 and composite expansion. This repo sets expand-composite-actions: true, and both PRs shipped in the same release, so there is no broken window.

docker/login-action v4.5.1 → v4.6.0 — two real behavior changes, neither reachable here (all four call sites use registry: ghcr.io with username/password, no Docker Hub OIDC and no scope input):

  • src/dockerhub.ts (#1058) now JSON.stringifys the entire API error body into the thrown error instead of whitelisting description/message/detail/error, and the 401 short-circuit moved to after the body dump, so 401 bodies are now echoed too. Flagging this explicitly against the log-hygiene rule: it widens what upstream prints on failure, but it only executes on the Docker Hub token-exchange path, which these workflows never take. No action needed unless a Docker Hub OIDC login is added later.
  • scopeToConfigDir (#1059) hardens path handling with path.resolve plus containment checks, and now throws on a registry/scope that escapes the Buildx config dir, on more than one @ in a scope, or on non-lowercase scope actions. Strictly a new failure mode for malformed scope values; no call site passes scope.

github/codeql-action v4.37.3 → v4.37.6 — changelog reviewed:

  • v4.37.6: default filepath for the remote config-file address format changed to .github/codeql-config.yml (#4070). codeql-analysis.yml passes no config-file, so it is unaffected.
  • v4.37.5: fix for a network error during bundle streaming terminating init instead of falling back (#4061) — strict improvement.
  • v4.37.4: github-codeql-tools repository-property support (feature-flagged, gradual rollout; a workflow-supplied tools always wins, and it is not set here) and default bundle → CodeQL 2.26.2.
  • Only expected side effect: the CodeQL CLI/bundle update can surface new or shifted alerts on the next scan. Normal for a codeql-action bump, not a regression.

release-drafter v7.6.0 → v7.7.0 — the headline feature, conventional-title categorization (#1556), is fully opt-in: matchesConventionalTitle returns true immediately when condition.conventional is unset, and .github/release-drafter.yml declares no categories at all. Likewise, no new contributor template (#1687) only affects $NEW_CONTRIBUTORS, while our template uses $CHANGES alone. The substantive changes are the Octokit GraphQL pagination refactor (#1679), transient-failure retries (#1680), and a proxy-aware fetch fix (#1682) — all reliability-positive. The four keys our config uses (template, version-resolver, name-template, tag-template) remain valid in the v7 schema; the only common-config.schema.ts edit in range is a doc-comment mastermain rename.

🤖 Generated with Claude Code

@renovate
renovate Bot force-pushed the renovate/github-actions branch from 4cf47e2 to 0602549 Compare August 13, 2026 06:36
@claude

claude Bot commented Aug 13, 2026

Copy link
Copy Markdown

Renovate review — GitHub Actions bumps ✅

Reviewed per .claude/REVIEW.md. No findings — no defects or PII/secret-logging changes introduced, and no regressions that affect how this repo uses these actions. Details of the upstream diff review below.

Digest ↔ tag verification

All five pinned digests resolve to the tag claimed in the trailing comment (no mismatched or unreleased pins):

Action Pinned digest Resolves to
Kesin11/actions-timeline 57fc93f tag v3.2.0
Swatinem/rust-cache 6323deb tag v2v2.9.2
docker/login-action dbcb813 tag v4v4.6.0
github/codeql-action 5595cca tag v4v4.37.6
release-drafter/release-drafter 34d8067 tag v7v7.7.0

All 9 call sites were updated consistently — no stale digests left anywhere in .github/.

Upstream commit-log / release-notes review

Swatinem/rust-cache v2.9.1 → v2.9.2 (45 commits) — the largest real change in this PR. Internals were migrated to Rollup with bundle splitting, so action.yml now points at dist/restore.js / dist/save.js instead of dist/{restore,save}/index.js. I verified the new dist/ tree is self-consistent (chunk cleanup-BWEbZ6YT.js is present and correctly referenced by both entrypoints).

  • Cache keys are unaffected. getRustVersions was refactored from Set<RustVersion> (objects — so both dedupe and sort() were silently broken) to a sorted Set<string>, but the string fed to the hasher is still exactly `${release} ${host} ${commitHash}`. Same input → same key, so nexus caches are not invalidated by this bump. It actually fixes latent key instability for multi-toolchain setups.
  • Cleanup fixes (credentials.toml path, including target names + cdylib/rlib/dylib/staticlib in build/ and .fingerprint/ cleanup, inverted target/profile check) all err toward preserving more valid artifacts — worst case is a slightly larger cache, not a broken one.
  • The Rollup migration did introduce one regression upstream (Windows cache-path validation), but it was fixed within this same range (Adds variable assignments in clonetable #355) and is Windows-only regardless — ci.yml runs this on ubuntu.
  • Minor heads-up, not applicable here: cache-provider dropped buildjet support. ci.yml only passes workspaces: nexus, so no impact.

docker/login-action v4.5.1 → v4.6.0

  • v4.5.2 rewrote parseError in src/dockerhub.ts to JSON.stringify the whole error body instead of extracting only whitelisted keys (description/message/detail/error), and moved the 401 short-circuit after body parsing. This widens what can land in logs — flagged against REVIEW.md's log-content rule, but not exercised here: dockerhub.ts is only on the Docker Hub OIDC/PAT path, and all four workflows log in to ghcr.io with GITHUB_TOKEN.
  • v4.6.0 hardened scopeToConfigDir to throw when a registry/scope value resolves outside the Buildx config dir, and to reject scopes with more than one @ or non-lowercase actions. No workflow here passes scope, so the function returns early and the new throws are unreachable.

github/codeql-action v4.37.3 → v4.37.6 (133 commits, mostly internal refactors and rebuilds)

  • v4.37.4: default bundle → CodeQL 2.26.2; adds support for setting tools via the github-codeql-tools repository property. For Advanced Setup (what codeql-analysis.yml uses) the workflow value wins unless the property starts with ! — and we don't set tools at all, so behavior only changes if someone sets that org/repo property.
  • v4.37.5: fixes a network error during bundle streaming aborting init instead of falling back to download-then-extract — strictly an improvement for CI flakiness.
  • v4.37.6: changed the default filepath for the remote-file-address config format to .github/codeql-config.yml. No impact — codeql-analysis.yml passes no config-file.

release-drafter/release-drafter v7 → v7.7.0 (20 commits)

  • The headline feature (UI: Add create mirror buttons #1556, categorize PRs by conventional title) is opt-in via a new conventional predicate inside categories. .github/release-drafter.yml defines no categories, so drafted notes are unchanged.
  • Remaining changes are robustness work: retry on transient GitHub API failures, Octokit GraphQL pagination, preserved proxy-aware fetch, GraphQL 17 support. Our config (template, version-resolver, name-template, tag-template) uses no fields touched by the schema updates.

Kesin11/actions-timeline v3.1.1 → v3.2.0 (37 commits) — adds rendering for GitHub's new parallel step syntax, which required reworking composite-action matching (src/composite.ts, new src/parallel.ts). tilt-flow.yml sets expand-composite-actions: true, so it does hit the reworked path, but expandParallelSteps degrades to warnings plus the standard layout rather than throwing, and the blast radius is a cosmetic run-summary Gantt chart either way.

@renovate
renovate Bot force-pushed the renovate/github-actions branch from 0602549 to 715b07e Compare August 13, 2026 06:41
@claude

claude Bot commented Aug 13, 2026

Copy link
Copy Markdown

Dependency bump review — reviewed, looks clean ✅

Reviewed per .claude/REVIEW.md (secret/PII logging + upstream regression check for each bumped range). No blocking findings, so no inline comments — details below so the check isn't a black box.

Pin integrity

Every pinned SHA resolves to the tag in its trailing comment, and every range is ahead-only on the upstream default branch (behind_by = 0, i.e. fast-forward, no history rewrite):

Action Range Resolved
Swatinem/rust-cache e18b4976323deb (45 commits) v2 / v2.9.26323deb
docker/login-action abd2ef4dbcb813 (18 commits) v4.5.1v4.6.0 = dbcb813, v4dbcb813
github/codeql-action e4fba865595cca (133 commits) v4.37.3 → v4.37.6, v45595cca
release-drafter/release-drafter eada3c934d8067 (20 commits) v7 / v7.7.034d8067
Kesin11/actions-timeline 7bf799957fc93f (37 commits) v3.2.057fc93f

grep over .github/ confirms all 9 call sites in 8 workflows were bumped consistently — no stale SHAs left behind (both codeql-action/init and /analyze moved together).

Secrets / PII in logs

One thing flagged and cleared: docker/login-action 2aa1ede changed parseError in src/dockerhub.ts to JSON.stringify the entire Docker Hub API error body into the thrown error, instead of only whitelisting description/message/detail/error (and the 401 short-circuit now runs after the body is surfaced). That's more response content in job logs than before, but the path is only reached via isDockerHubOIDC(registry, password) — all four of our login steps (customer-docker, dev-docker, mysql-debug-docker, stable-docker) target ghcr.io with a password secret, so it is dead code for us. Credentials still go via --password-stdin with silent: true. Nothing else in the five ranges adds credential-bearing output.

Per-action regression notes

  • rust-cache 2.9.1 → 2.9.2 — the largest change here: rollup bundle-splitting (dist/restore/index.jsdist/restore.js + shared chunks, action.yml main/post updated accordingly, still node24), a target/ cleanup rewrite for Cargo's V2 build-dir layout, cdylib/rlib/dylib/staticlib added to SAVE_TARGETS, and cleanBin inverted to keep build-installed binaries. Three things worth knowing:
    • Expect a one-time cache miss on nexus. getRustVersions now returns sorted, deduped strings; previously it was a Set of objects, so .sort() was a no-op and identical toolchains never deduped. Same inputs → different key → one cold rebuild, then back to normal.
    • cleanRegistry now deletes $CARGO_HOME/credentials.toml instead of the never-existing $CARGO_HOME/.cargo/credentials.toml — a genuine fix that stops cargo registry credentials from being saved into the Actions cache. No exposure for us (nexus doesn't authenticate to a private registry), but good to have.
    • Upstream has one post-2.9.2 fix not in this bump (#377: rmExcept's timestamp branch returned after the first entry, so at most one outdated item was ever pruned). It is pre-existing — also present in 2.9.1 — so not a regression from this bump; it will arrive with the next v2 digest bump. No open upstream issues reporting 2.9.2 regressions.
    • CI evidence: build (ubuntu-latest, 14–18) — the ci.yml job that actually restores/saves this cache — passes on all five matrix legs.
  • codeql-action 4.37.3 → 4.37.6 — no breaking changes. Default CodeQL bundle 2.26.1 → 2.26.2 (may surface slightly different alerts, expected), a bundle-download network-error fallback fix, and github-codeql-tools repository-property support. 4.37.6's DEFAULT_CONFIG_FILE_NAME change only affects the remote config-file input, which codeql-analysis.yml doesn't set. Both Analyze (go) and Analyze (javascript-typescript) pass on the new SHA.
  • login-action v4.5.1 → v4.6.0 — besides the above, 8305724 hardens scopeToConfigDir with path-escape validation that now throws on malformed scope input. None of our login steps pass scope, so no behavior change.
  • release-drafter v7.7.0 — new features (conventional-title category matching, no-new-contributor-template) are opt-in schema additions; our .github/release-drafter.yml only uses template/version-resolver/name-template/tag-template and stays valid. The real behavior changes to keep an eye on are the Octokit GraphQL pagination refactor, GraphQL 17 support, and transient-API-failure retries — failure mode would be a malformed draft release, not a merge-blocking break. Config-source logging was expanded to one line per source (paths only, nothing sensitive).
  • actions-timeline v3.1.1 → v3.2.0 — adds rendering for GitHub's new parallel: step syntax, which we don't use. The only live change for tilt-flow.yml is "skip synthetic parallel parents" during composite matching, relevant because we set expand-composite-actions: true. Root action.yml is unchanged — no new inputs and no new permissions: needed. Worst case is a cosmetic timeline in the job summary; it cannot fail the job.

Only renovate/stability-days and the long-running flow_test legs were still pending at review time.

@renovate
renovate Bot force-pushed the renovate/github-actions branch from 715b07e to 2e554db Compare August 13, 2026 16:55
@claude

claude Bot commented Aug 13, 2026

Copy link
Copy Markdown

Renovate GitHub Actions bump — reviewed, looks clean ✅

No findings; nothing blocking. Details of what was checked, per .claude/REVIEW.md.

Pinned SHA ↔ tag verification

Every new SHA was resolved against the upstream ref it claims in the trailing comment (annotated tags dereferenced):

Action Bump New SHA resolves to
Swatinem/rust-cache e18b4976323deb (# v2) v26323deb = v2.9.2
docker/login-action abd2ef4dbcb813 (# v4) v4dbcb813
release-drafter/release-drafter eada3c934d8067 (# v7) v734d8067 = v7.7.0
Kesin11/actions-timeline v3.1.1 → 57fc93f (# v3.2.0) v3.2.057fc93f

All four ranges are fast-forward (status: ahead) — no force-pushed/rewritten history. The docker/login-action SHA was applied consistently to all four workflows that use it (customer-, dev-, stable-docker.yml, mysql-debug-docker.yml); no stale pins of the old digests remain anywhere in .github/.

Upstream release notes / commit log review

Swatinem/rust-cache — effectively v2.9.1 → v2.9.2 (45 commits; the old pin was one commit past v2.9.1). Mostly dependency bumps plus a Rollup bundle-splitting refactor. Behaviour-relevant changes for our workspaces: nexus usage:

  • Cache-pruning fixes: include target names and cdylib/rlib/dylib/staticlib targets in build//.fingerprint/ cleanup (increase normalize time #317, WorkFlow Task timeout #320), support Cargo V2 build-dir layout (Support Binary Types in Postgres Query Layer #371), inverted target/profile check in cleanup. Worst case is over-pruning → a cache miss, not a broken build.
  • creating all normalized tables in a single activity #325 now scans $CARGO_HOME/bin on restore instead of trusting cargo install metadata. Our nexus job doesn't cargo install anything, so no effect.
  • Windows cache-path validation fix (Adds variable assignments in clonetable #355) after the Rollup migration — we only run ubuntu-latest, N/A.
  • Useful side effect: cb96ac7 fixes the credentials.toml cleanup path, which was previously built as $CARGO_HOME/.cargo/credentials.toml (double .cargo) and therefore never deleted before the cache was saved. On the currently pinned version, cargo registry credentials in CARGO_HOME would have been persisted into the Actions cache. We don't write registry credentials in the nexus job, so no exposure here, but the bump is strictly an improvement.
  • Cache-key computation is semantically unchanged for us: rustc version strings are now sorted as strings (the previous .sort() on objects was a no-op), which can reorder the key hash only with multiple toolchains. nexus uses a single toolchain, so no forced cache invalidation.
  • Empirically validated: ci.yml is inside its own paths filter, so the nexus build matrix ran here on the new version and all five jobs (pg14pg18) passed.

docker/login-action v4 digest (18 commits). Two functional changes, neither on a path we use:

  • harden buildx scoped config path handling (chore: update dependencies #1059) adds path-escape validation, only reachable when the scope input is set — we only pass registry: ghcr.io + ${{ github.actor }}/GITHUB_TOKEN, so scopeDisabled() short-circuits.
  • surface Docker Hub OIDC error responses (UI: Fix caching #1058) now JSON.stringifys the whole Docker Hub error body into the thrown error. It's Docker Hub-specific (src/dockerhub.ts) and we authenticate to GHCR only, so it never runs; the content is a server-provided error body, not credentials. No new secret/PII output.

release-drafter v7.6.0 → v7.7.0 (20 commits).

Kesin11/actions-timeline v3.1.1 → v3.2.0 (37 commits). Adds rendering for GitHub's new parallel: step syntax plus a follow-up fix to skip synthetic parallel parents during composite matching. No workflow in this repo uses parallel:, so the new logic is inert; the composite-matching change does touch the code path behind our expand-composite-actions: true, but the action's main phase is a no-op and all rendering happens in the post phase, so any regression would be a cosmetic timeline for tilt_flow_test, not a test failure.

Secrets/PII in logs

No change in this PR adds or alters stdout/stderr/log output in this repo, and the one upstream change that adds logging (release-drafter #1674) prints only repo/path/ref.

One thing to keep an eye on: renovate/stability-days is still pending (minimum release age), so automerge will hold until that clears — expected, not an issue with the diff.

@renovate
renovate Bot force-pushed the renovate/github-actions branch from 2e554db to 33d58f1 Compare August 13, 2026 17:20
@claude

claude Bot commented Aug 13, 2026

Copy link
Copy Markdown

Renovate bump review — clean ✅

Reviewed per .claude/REVIEW.md (secret/PII in logs + upstream regression check for the bumped ranges). No findings; nothing to block on.

Provenance

All four digests dereference exactly to the tags the comments claim, and every range is a clean fast-forward (ahead N, behind 0 — no history rewrite):

Action Old → New Digest resolves to
Kesin11/actions-timeline v3.1.1 → v3.2.0 57fc93f = tag v3.2.0
Swatinem/rust-cache v2.9.1(+1) → v2.9.2 6323deb = v2.9.2 = v2
docker/login-action v4.5.1 → v4.6.0 dbcb813 = v4.6.0 = v4
release-drafter/release-drafter v7.6.0 → v7.7.0 34d8067 = v7.7.0 = v7

Version comments are accurate after the bump, and all 7 occurrences across the 7 workflows were updated consistently — no file left on a stale digest.

Regression analysis

Swatinem/rust-cache v2.9.1 → v2.9.2 — the only bump with real impact on this repo (ci.yml nexus workspace). Net positive: it fixes two bugs present in the currently pinned commit.

  • #369 — Rust versions were unsorted/duplicated in the cache key, causing intermittent cache misses. ⚠️ Expected side effect: the fix changes cache-key computation, so the first ci.yml run after merge will be a cold nexus build. One-time, not a defect.
  • #356cleanTargetDir deleted target/<triple>/<profile> artifacts. Not applicable here; ci.yml doesn't pass --target.
  • The Rollup bundle-splitting migration landed in this range. Its one known regression (#355, Windows cache-path validation) is already fixed within v2.9.2, and the nexus job is ubuntu-latest only.
  • #325 now scans $CARGO_HOME/bin contents on restore instead of trusting cargo install metadata — negligible here since the nexus job installs no cargo tools.
  • No open upstream issues report regressions against v2.9.2.
  • Secrets check: cached paths are ~/.cargo + nexus/target. The GCP/Snowflake credential JSONs written by the two preceding steps land in nexus/server/tests/assets/, outside both — so nothing pulls them into a cache artifact.

docker/login-action v4.5.1 → v4.6.0 — two functional changes, neither on this repo's code path. All four call sites use registry: ghcr.io with username/password.

  • #1058 surfaces Docker Hub OIDC error response bodies in the thrown error. Only reachable via Docker Hub OIDC (unused here), and the surfaced body is the OAuth error envelope (error/error_description/error_uri) — not a token. No secret-logging exposure.
  • #1059 adds path-traversal guards to scopeToConfigDir. It returns early when scope is unset, and no call site sets scope — pure hardening.

release-drafter/release-drafter v7.6.0 → v7.7.0 — drafting behavior unchanged for this repo's config.

  • #1556 (categorize PRs by conventional title) is opt-in via a conventional predicate on a category condition. .github/release-drafter.yml defines no categories, so it's inert.
  • #1687 only customizes the $NEW_CONTRIBUTORS placeholder, which this repo's template doesn't use.
  • #1686 (mastermain) is docs/comments plus a schema id URL — no behavior change.
  • #1674 (log all config sources) logs only owner/repo/filepath/ref. No secrets or PII — clears the high-severity logging rule.
  • Worth noting the GraphQL pagination refactor (#1679) + API retry work (#1680) introduced a proxy-fetch regression — but its fix (#1682, "preserve proxy-aware fetch in octokit client") is included in this range ahead of the v7.7.0 release commit, so the bump does not ship it.

Kesin11/actions-timeline v3.1.1 → v3.2.0 — lowest risk; affects only timeline rendering in the tilt-flow.yml run summary.

  • Adds support for GitHub's new parallel steps syntax. tilt-flow.yml uses no parallel: steps, so the new path is inert.
  • #363 fixes composite-vs-parallel parent matching — relevant since this repo sets expand-composite-actions: true, i.e. the path actually in use got a fix.
  • The new log-marker parsing extracts only step names (which originate from the workflow file), not arbitrary log text, so nothing new reaches the job summary.

🤖 Generated with Claude Code

@renovate
renovate Bot force-pushed the renovate/github-actions branch from 33d58f1 to 6426f5d Compare August 15, 2026 07:08
@claude

claude Bot commented Aug 15, 2026

Copy link
Copy Markdown

Renovate bump review — clean ✅

Reviewed all four action bumps against upstream release notes and commit logs. No findings; nothing to block on.

Pin verification

Every SHA resolves to the tag its trailing comment claims:

Action Pinned SHA Resolves to
Swatinem/rust-cache 6323deb tag v22.9.2
docker/login-action dbcb813 tag v4 head ✅
release-drafter/release-drafter 34d8067 tag v7v7.7.0
Kesin11/actions-timeline 57fc93f tag v3.2.0

Per-dependency regression analysis

Swatinem/rust-cache e18b4976323deb (2.9.1 → 2.9.2, 45 commits) — biggest change in this PR, still low risk for us.

  • Internals were rewritten to use rollup bundle splitting; action.yml entrypoints moved dist/restore/index.jsdist/restore.js (and same for save). Runtime is still node24, inputs unchanged.
  • Cache-key composition is unchangedgetRustVersions was refactored to return pre-formatted "<release> <host> <commit-hash>" strings, but the hashed input is byte-identical. Existing nexus caches stay valid; no cold-cache CI penalty expected.
  • Cleanup logic was reworked: profile-directory detection flipped from "has CACHEDIR.TAG/.rustc_info.json" to "has build/.fingerprint/deps", plus Cargo V2 build-dir layout support (#371, fixing upstream Eventhub Normalize Fix #370 — hyphenated package names being truncated). Both changes are included in 2.9.2, i.e. we're picking up the fix, not the bug.
  • cleanBin semantics inverted: it now removes exactly the binaries that existed at restore time, instead of "everything not registered in .crates2.json". Net effect is that more $CARGO_HOME/bin content is retained in the cache. Our nexus job doesn't cargo install tooling, so impact is negligible.
  • 🔒 Security-relevant, in our favor: the credentials scrub path was corrected from $CARGO_HOME/.cargo/credentials.toml (a path that never existed) to $CARGO_HOME/credentials.toml. Previously cargo registry credentials would not have been stripped before the cache upload. We don't configure cargo registry credentials in ci.yml, so there was no prior exposure — but the fix is worth having.
  • cache-provider dropped buildjet from its documented options. We use the default github, so unaffected.
  • ℹ️ Known upstream bug still present in 2.9.2: #375rmExcept uses return where it should continue, so timestamp-based pruning on a partial cache-key match only ever examines one entry (cache bloat). I verified this bug is pre-existing at our old pin as well, so it is not a regression from this bump; it's just not fixed yet either.

docker/login-action abd2ef4dbcb813 (18 commits) — no code path we use changed behavior.

  • scopeToConfigDir was hardened against path traversal via the scope input (it now validates that the resolved path stays under the Buildx config dir). All four of our call sites (customer-docker, dev-docker, stable-docker, mysql-debug-docker) omit scope, so this returns early and is a no-op for us.
  • parseError in src/dockerhub.ts now JSON.stringifys the entire API error body into the thrown error, and no longer short-circuits 401 before parsing the body — a genuine widening of what can land in logs. This only runs on the Docker Hub OIDC path (dockerhub.isDockerHubOIDC(registry, password)); all our logins target ghcr.io with an explicit username/password, so the code is never reached. Flagging it only so it's on record if we ever add a Docker Hub OIDC login.
  • Remaining commits are dependency bumps and regenerated dist.

release-drafter/release-drafter eada3c934d8067 (v7.6.0 → v7.7.0) — additive only.

  • New features are all opt-in via config keys we don't set: the conventional: change-condition predicate (#1556) and no-new-contributor-template (#1687).
  • parseCategories dropped the changeConditionSchemaDefaults spread, which only affects configs declaring categories. Our .github/release-drafter.yml sets just template, version-resolver, name-template, tag-template — all still valid under the v7.7.0 zod schema, and $CHANGES / $NEXT_PATCH_VERSION behavior is untouched.
  • "Log all config sources" (#1674) is a logging change — I checked the diff, it emits only config file paths/refs/repo names. No token or secret material.
  • Also picks up a proxy-aware-fetch fix and retry-on-transient-GitHub-API-failure, both improvements for us.

Kesin11/actions-timeline v3.1.1 → v3.2.0 — observability-only, safe.

  • Adds rendering for GitHub's new parallel step syntax. action.yml is unmodified across the range, so our expand-composite-actions: true input in tilt-flow.yml remains valid. This step only produces a timeline summary and cannot affect test outcomes.

Secrets / PII check

No new stdout, stderr, or log output is introduced by this diff. The only upstream logging widening (login-action's Docker Hub error body) is unreachable from our workflows, as noted above.


🤖 Generated with Claude Code

@renovate
renovate Bot force-pushed the renovate/github-actions branch from 6426f5d to aaeef33 Compare August 17, 2026 06:27
@claude

claude Bot commented Aug 17, 2026

Copy link
Copy Markdown

Review: GitHub Actions dependency bump — no findings

Reviewed per .claude/REVIEW.md (dependency-bump regression check + secret/PII logging check). All four bumps were traced against the upstream commit logs and release notes for the exact bumped ranges. Nothing blocking.

Pin verification

Every pinned SHA resolves to the tag its trailing comment claims, and the digest updates span real releases (Renovate labels them "digest", which understates them):

Action Range actually covered Pin ↔ tag
Kesin11/actions-timeline v3.1.1 → v3.2.0 (37 commits) 57fc93f = tag v3.2.0
Swatinem/rust-cache 2.9.1 → 2.9.2 (45 commits) 6323deb = tag v2
docker/login-action v4.5.1 → v4.6.0 (18 commits) dbcb813 = tags v4.6.0/v4
release-drafter/release-drafter v7.6.0 → v7.7.0 (20 commits) 34d8067 = tags v7.7.0/v7

Also checked: no stale copies of the old SHAs remain anywhere in the repo, and all 7 call sites are updated consistently.

Regression assessment per action

Swatinem/rust-cache 2.9.1 → 2.9.2 (.github/workflows/ci.yml:59, workspaces: nexus) — the largest change of the four. Upstream migrated dist/ to rollup bundle splitting and repointed action.yml (dist/restore/index.jsdist/restore.js), plus real logic changes: profile-vs-nested-target detection in cleanTargetDir was inverted to a build/.fingerprint/deps heuristic, rmExcept now tries an exact match before stripping -$hash (Cargo V2 build-dir layout, rust-lang/cargo#17258), cleanBin was rewritten to cache more cargo installed binaries, and Rust-version sorting/dedup for the cache key was fixed. Notes, none blocking:

  • The Rust-version key fix changes the computed cache key, so expect a one-time cache miss on the nexus workspace after merge; it repopulates on the next run.
  • Post-2.9.2, upstream landed #377 (timestamp pruning in rmExcept bailed after the first entry, so partial-hit target dirs grow unbounded — #375 reports an 11 GB cache). That bug is pre-existing at 2.9.1, i.e. not introduced here, and the fix is not in a tagged release yet, so it just carries forward. Worth picking up whenever 2.9.3 lands.
  • The Windows-specific fallout from the rollup migration (#355) is already included in this digest, and CI here is Linux-only regardless.

docker/login-action v4.5.1 → v4.6.0 (4 workflows, all registry: ghcr.io) — two source changes: scopeToConfigDir now validates the buildx scoped-config path and throws on scopes containing more than one @ or on paths escaping the buildx config dir; and parseError in dockerhub.ts was reworked. Neither is reachable from this repo's usage: no scope input is passed anywhere, and dockerhub.ts only runs on the Docker Hub OIDC path, not GHCR username/password login.

Kesin11/actions-timeline v3.1.1 → v3.2.0 (.github/workflows/tilt-flow.yml:204, expand-composite-actions: true) — adds support for the new parallel workflow syntax. The new expandParallelSteps short-circuits when no job contains a Parallel group step (this repo uses no parallel steps), so no behavioral change and no new job-log download — the new fetchJobLog call would otherwise want actions: read, which tilt-flow.yml does not grant; and even on that path failures degrade to a warning() plus the standard timeline layout rather than failing the step. The composite path this repo does use got a tightened log-header match (exact Run <uses-path> instead of a substring includes) plus per-occurrence disambiguation; worst case on a mismatch is missing (sub) rows in the run-summary gantt — cosmetic only.

release-drafter/release-drafter v7.6.0 → v7.7.0 (.github/workflows/release-drafter.yml:18) — new conventional: change-condition, no-new-contributor-template, GraphQL pagination moved to Octokit's paginator, and retry on transient GitHub API failures. All config-schema additions are additive and optional; this repo's .github/release-drafter.yml only uses template / version-resolver / name-template / tag-template, which are untouched. The retry work is a net reliability win for draft generation.

Secrets / PII in logs (high-severity check)

No new secret or PII exposure. Two things looked at explicitly:

  • docker/login-action changed parseError to JSON.stringify the whole Docker Hub API error body instead of only allow-listed fields (description/message/detail/error), and it no longer short-circuits 401 before touching the body. That widens what a failed login can print — but it is on the Docker Hub OIDC code path only, and every login here targets ghcr.io, so it never executes. Actions secret masking also still applies.
  • rust-cache 2.9.2 fixes the cleanRegistry credentials path ($CARGO_HOME/.cargo/credentials.toml$CARGO_HOME/credentials.toml), which previously never matched. Small improvement in the right direction: a cargo registry token in $CARGO_HOME would previously have been eligible for the saved cache. Nothing exposed here — nexus CI configures no cargo registry credentials — but good to have.

Note that ci.yml writes GCP_GH_CI_PKEY / SNOWFLAKE_GH_CI_PKEY to nexus/server/tests/assets/ before the rust-cache step; rust-cache only caches $CARGO_HOME and <workspace>/target, so those files stay out of the cache.

CI evidence on this PR

The two bumps this PR's own CI can exercise both ran green with the new pins:

  • build (ubuntu-latest, 14–18) — new rust-cache main and post/save steps succeeded, cargo check + cargo test passed.
  • docker-build — new login-action main and post steps succeeded against ghcr.io.
  • tilt_flow_testactions-timeline main step succeeded; its post step (where the timeline is generated) completes with the e2e job.
  • stable-docker.yml (release-triggered) and release-drafter.yml (push-to-main) are not exercised by PR CI, so those two land unverified by this run — low risk given the analysis above.

renovate/stability-days is still pending (minimum release age), so automerge will hold until that clears.

@github-actions

Copy link
Copy Markdown
Contributor

🔄 Flaky Test Detected

Analysis: Five MySQL→ClickHouse e2e tests all hit the same hard-coded 60s mirror-status poll timeout while still in STATUS_SETUP/STATUS_SNAPSHOT on one matrix leg, while the same commit passed on the pg16 and pg18 legs and the PR only bumps GitHub Action pins — indicating runner resource contention, not a code defect.
Confidence: 0.93

✅ Automatically retrying the workflow

View workflow run

@renovate
renovate Bot force-pushed the renovate/github-actions branch 2 times, most recently from e2f088a to cbaae1f Compare August 18, 2026 19:24
@claude

claude Bot commented Aug 18, 2026

Copy link
Copy Markdown

Code review

No issues found. Checked for bugs and CLAUDE.md compliance.

Comment thread .github/workflows/ci.yml
dir: "nexus/server/tests/assets/"

- uses: Swatinem/rust-cache@e18b497796c12c097a38f9edb9d0641fb99eee32 # v2
- uses: Swatinem/rust-cache@6323deb102c322ba6fcbdcafc7e3dddab59af2b6 # v2

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

rust-cache v2.9.1 -> v2.9.2 silently changes the cache-key digest — expect one cold build here.

Not a defect in this PR, and not blocking, but it isn't in the upstream changelog so it would otherwise surface as an unexplained CI slowdown: the nexus cache is invalidated once by this bump, so the first post-merge run of cargo check / cargo test is cold on all five postgres-version matrix legs, then re-warms.

Why — src/config.ts in the bumped range changed getRustVersions from a Set of RustVersion objects to a Set of strings:

  • Before, parseRustVersion returned a fresh object per call, so the Set never deduped, and rustVersions.sort() over objects was a no-op (every element stringifies to [object Object]).
  • Now the entries are "<release> <host> <commit-hash>" strings, so they genuinely dedupe and sort.

This workspace has no rust-toolchain.toml and ci.yml installs no toolchain, so Rust comes from the preinstalled rustup on ubuntu-latest. There, rustc -vV and rustup run stable-x86_64-unknown-linux-gnu rustc -vV yield the same version string: v2.9.1 fed it to the sha1 hasher twice, v2.9.2 feeds it once, so the digest differs. add-rust-environment-hash-key defaults to true, and that digest is appended to key before self.restoreKey = key, so the restore-key prefix changes too and even the prefix-based partial restore misses.


Two more items from the same range, both inert for this repo but worth recording:

  • buildjet cache provider removed. getCacheProvider() dropped the buildjet case, so cache-provider: buildjet now throws. This step uses the default github, so no impact.
  • credentials.toml cleanup now actually fires. The pre-save unlink path was wrong (CARGO_HOME/.cargo/credentials.toml) and is fixed to CARGO_HOME/credentials.toml. Prior versions therefore never scrubbed it, meaning a cargo registry token in ~/.cargo/credentials.toml could be baked into the saved Actions cache. This job sets no registry token, so nothing was exposed, but the fix is a genuine improvement.

The cleanup rewrites in this range (cleanTargetDir profile detection inverted, keepPkg widened to target names, exact-match-before-hash-strip in rmExcept for Cargo's V2 build-dir layout, SAVE_TARGETS widened to cdylib/dylib/rlib/staticlib) all err toward preserving more artifacts, so the failure mode is a larger cache rather than lost build output. cleanBin also became stricter — it now deletes exactly the recorded pre-existing binaries instead of everything not attributable to a cargo install, which no longer risks removing rustup shims.

The other three bumps check out. All pins resolve to their commented tags (57fc93f = actions-timeline v3.2.0, dbcb813 = login-action v4 -> v4.6.0, 34d8067 = release-drafter v7 -> v7.7.0), none has a follow-up patch release suggesting a regression, and no new stdout/stderr/log output in any of them can reach a secret as this repo uses them. login-action: the widened Docker Hub error body (whole response stringified instead of four known keys) only runs on the Docker Hub OIDC path — all four call sites here are ghcr.io with username/password — and the scopeToConfigDir path-traversal hardening is a security fix on an input this repo never passes. release-drafter: the new conventional-title categorization is opt-in via a conventional: key under a category's when, and .github/release-drafter.yml here declares no categories, so drafted notes are unchanged; the no-new-contributor-template addition only affects the contributors placeholder and this template is just the changes placeholder. The one thing not verifiable from outside is the GraphQL pagination refactor (hand-rolled paginator replaced with Octokit's), which in principle could change which PRs land in a draft. actions-timeline: v3.2.0's "skip synthetic parallel parents" fix specifically targets expand-composite-actions: true, which tilt-flow.yml sets — so a fix, not a regression, and observability-only either way.

@claude

claude Bot commented Aug 18, 2026

Copy link
Copy Markdown

Renovate bump review — no findings

Reviewed per .claude/REVIEW.md (secret/PII logging + upstream regression check). All four bumps are SHA-pin updates to GitHub Actions; nothing in this repo's own code or log output changes.

Pin ↔ tag verification (each new SHA resolves to the tag in the trailing comment):

Action Old → New Resolves to
Swatinem/rust-cache e18b4976323deb v2.9.2 (old pin sat just past v2.9.1)
docker/login-action abd2ef4dbcb813 v4.6.0 (was v4.5.1); also head of the v4 tag
release-drafter/release-drafter eada3c934d8067 v7.7.0 (was v7.6.0)
Kesin11/actions-timeline 7bf799957fc93f v3.2.0 (was v3.1.1)

All occurrences in .github/workflows/ were updated consistently — no stale SHAs left behind for any of the four actions.

Upstream release-notes / commit-log review of the bumped ranges:

  • rust-cache v2.9.1 → v2.9.2 (45 commits, mostly dependabot). Substantive changes: target-dir cleanup fixes (#317, #320), Cargo V2 build-dir layout support (#371), $CARGO_HOME/bin now scanned on restore instead of trusting cargo install metadata (#325), and a Rollup bundle-splitting migration that moves the entrypoints (dist/restore/index.jsdist/restore.js). The one regression that migration caused — Windows cache-path validation — was caught and fixed before the release (#355); ci.yml runs this on Linux only. No cache-key computation changes in the range, so the nexus workspace cache should keep hitting. The release also drops buildjet as a cache-provider option — not applicable, this repo never sets that input.
  • docker/login-action v4.5.1 → v4.6.0. Two functional changes: Docker Hub OIDC errors now surface the full JSON error body (#1058), and buildx scoped-config path handling is hardened against traversal in the scope/registry inputs (#1059). Neither path is exercised here — all four usages log into ghcr.io with username/password and no scope input, so scopeToConfigDir() returns early. On the logging rule: the OIDC change does widen what an error message contains, but that code path is Docker Hub OIDC only and unreachable in these workflows. Existing secret masking is untouched.
  • release-drafter v7.6.0 → v7.7.0. Additive: conventional-title categorization (#1556) is opt-in via a new conventional predicate under categories, and the no-new-contributor template only applies when the template references contributors. .github/release-drafter.yml here is only template/version-resolver/name-template/tag-template with no categories and no contributors placeholder, so drafted notes are unaffected. Range also brings a proxy-aware-fetch fix and GraphQL pagination/retry hardening. Config logging (#1674) now emits one line per config source with repo/path/ref — no secrets.
  • actions-timeline v3.1.1 → v3.2.0. Adds rendering for the new GitHub parallel step syntax and skips synthetic parallel parents during composite matching. Purely additive to timeline rendering; expand-composite-actions: true in tilt-flow.yml still applies, and no inputs or runtime requirements changed.

No secret/PII logging introduced, no breaking input or behavior changes for how this repo uses these actions, and no upstream regressions that apply here.

@renovate
renovate Bot force-pushed the renovate/github-actions branch from cbaae1f to e27d362 Compare August 19, 2026 01:55
@claude

claude Bot commented Aug 19, 2026

Copy link
Copy Markdown

Renovate bump review — reviewed, looks clean ✅

Reviewed per .claude/REVIEW.md. All four action pins were verified against upstream and the changelogs/commit logs for each bumped range were read. No findings.

SHA ↔ version verification

Every new SHA resolves to the exact upstream release tag claimed by the version comment — no digest points at an unreleased/main-branch commit:

Action New SHA Resolves to Comment in file
Kesin11/actions-timeline 57fc93f tag v3.2.0 # v3.2.0
Swatinem/rust-cache 6323deb tag v2 → release v2.9.2 # v2
docker/login-action dbcb813 tag v4 → release v4.6.0 # v4
release-drafter/release-drafter 34d8067 tag v7 → release v7.7.0 # v7

All 7 files are updated consistently — git grep finds no leftover references to the old digests.

Upstream change review

Swatinem/rust-cache v2.9.1 → v2.9.2 (45 commits — the largest jump here)

  • Fix credentials.toml cleanup path; cleanup now preserves more valid targets (cdylib/rlib/dylib/staticlib, target names in build/ and .fingerprint/); support for the Cargo V2 build-dir layout; correct sort/dedupe of Rust versions; more cargo binaries cached.
  • Internal build migrated to Rollup with bundle splitting, so action.yml entrypoints moved dist/restore/index.jsdist/restore.js and dist/save/index.jsdist/save.js. Self-contained in the action; no caller-visible change. The follow-up "Fix Windows cache path validation after Rollup migration" only affects Windows runners — CI here is Linux.
  • ⚠️ Behavior note, not a problem for us: buildjet was dropped from the valid cache-provider values. This repo doesn't set cache-provider anywhere (ci.yml:59 passes only workspaces: nexus), so it is unaffected.
  • Worst-case regression surface is cache-hit efficiency (slower nexus builds), not build correctness. No regression reports open upstream for 2.9.2.

docker/login-action v4.5.x → v4.6.0

  • "Harden buildx scoped config path handling" — adds path-traversal guards to scopeToConfigDir. It now throws on a scope with more than one @, non-lowercase action names, or a resolved path escaping the buildx config dir. This repo never passes the scope input, so the new validation cannot fire.
  • "Surface Docker Hub OIDC error responses" — parseError now stringifies the whole Docker Hub JSON error body instead of extracting known fields. Checked this against the secret-logging rule: that code path is Docker Hub OIDC only, and all four call sites here (customer-docker.yml:29, dev-docker.yml:64, mysql-debug-docker.yml:63, stable-docker.yml:26) target registry: ghcr.io with username/password, so it is unreachable. The remainder is dependency bumps (aws-sdk, js-yaml, postcss).

release-drafter v7.6.0 → v7.7.0

  • feat: categorize PRs based on conventional title is opt-in via a new conventional key under categories. Our .github/release-drafter.yml defines no categories at all (just template/version-resolver/name-template/tag-template), so drafted notes are unchanged.
  • feat: no new contributor template only affects $NEW_CONTRIBUTORS, which our template does not use.
  • Otherwise upside: retry on transient GitHub API failures, proxy-aware fetch fix, Octokit GraphQL pagination, GraphQL 17 support, config-source logging.

Kesin11/actions-timeline v3.1.1 → v3.2.0

  • Adds rendering of the new GitHub Actions parallel step syntax, plus a fix to skip synthetic parallel parents during composite matching — relevant since tilt-flow.yml:210 sets expand-composite-actions: true, and that fix is in our favor. Purely a post-run visualization job; no effect on build or test outcomes.

Secret / PII logging check

No new stdout/stderr/log output that could carry credentials. The only changed error-message formatting is the Docker Hub OIDC path noted above, which these workflows do not exercise; GitHub secret masking applies regardless.

@renovate
renovate Bot force-pushed the renovate/github-actions branch from c9bd8f5 to 1be0720 Compare August 21, 2026 07:22
@claude

claude Bot commented Aug 21, 2026

Copy link
Copy Markdown

Dependency bump review — clean ✅

Reviewed per .claude/REVIEW.md. No findings; nothing blocking.

Pin integrity — every SHA was resolved against the upstream repo and matches its version comment, and each new SHA is a descendant of the old one (no lineage swaps):

Action Range Resolves to
Swatinem/rust-cache e18b4976323deb v2.9.1+1 → v2.9.2 (also v2 tag head)
docker/login-action abd2ef4dbcb813 v4.5.1 → v4.6.0 (also v4 tag head)
github/codeql-action e4fba86ff2f1c6 v4.37.3 → v4.37.7
release-drafter/release-drafter eada3c934d8067 v7.7.0
Kesin11/actions-timeline 7bf799957fc93f v3.1.1 → v3.2.0
go-version 1.26.51.26.6 Go patch release

Regression check against the bumped ranges

  • Go 1.26.6 — 27 commits, all backported fixes. Security-relevant: CVE-2026-56864 / CVE-2026-56865 in vendored x/mod, quadratic complexity in net/url.resolvePath, encoding/asn1 recursion-depth enforcement, encoding/xml depth handling, html/template JS regexp tracking, plus net/http unencrypted-HTTP/2 header timeout. Compiler fixes are for mips64le/riscv64 — not our targets. No behavior change expected for amd64/arm64 Linux. All three go-version pins in the repo (cleanup.yml, golang-lint.yml, tilt-flow.yml) were updated consistently; go.mod declares go 1.26.0, so no toolchain conflict.
  • rust-cache v2.9.2 — the old pin was one (changelog-only) commit past v2.9.1, so the effective delta is just the 2.9.2 patch: credentials.toml cleanup fix, more conservative target/.fingerprint cleanup, Cargo V2 build-dir layout support, Rust-version sort/dedupe. The Rollup bundle-split and its follow-up Windows path-validation fix (Adds variable assignments in clonetable #355) landed within this range too, but ci.yml runs this only on Linux. Cache-key computation is untouched in the range, so no forced cache invalidation for the nexus workspace. No open regression issues filed since the release.
  • docker/login-action v4.6.0 — the substantive change hardens buildx scoped config paths (scopeToConfigDir now rejects path traversal and malformed @actions suffixes). We never pass scope, so the function returns early — no impact. Also in range: Docker Hub OIDC errors now serialize the full JSON error body instead of a whitelisted field. That path is only reached for Docker Hub OIDC logins; all five call sites here log into ghcr.io with github.actor + token, so it isn't exercised. No new secret/PII output on our code path.
  • codeql-action v4.37.7 — default bundle 2.26.1 → 2.26.3, plus a fix for network errors during bundle download falling back correctly, and tools repository-property support. v4.37.6 changed the default remote config-file path to .github/codeql-config.yml; our init step passes only languages/build-mode, so that's a no-op here.
  • release-drafter v7.7.0 — new conventional category predicate is opt-in via category conditions; .github/release-drafter.yml defines no categories and its template only uses $CHANGES, so neither that nor the new-contributors template change alters our drafts. Also includes a proxy-aware-fetch fix and a GraphQL pagination refactor.
  • actions-timeline v3.2.0 — adds rendering for the new workflow parallel: step syntax, with a follow-up fix (Fix Linux docker-compose error and add TEMPORAL_CSRF_COOKIE_INSECURE=true #363) that skips synthetic parallel parents during composite matching. tilt-flow.yml uses expand-composite-actions: true and no parallel: steps, so the new path stays inert and composite expansion is preserved.

No secret/PII exposure introduced, no cache-key or config-schema breakage, and no cross-repo version drift left behind.

@renovate
renovate Bot force-pushed the renovate/github-actions branch from 1be0720 to 20db512 Compare August 21, 2026 17:00
@claude

claude Bot commented Aug 21, 2026

Copy link
Copy Markdown

Renovate GitHub Actions bump — reviewed, looks clean ✅

Reviewed per .claude/REVIEW.md (secret/PII in logs + upstream regression check) at head 20db512. No findings — nothing blocking.

Digest → tag verification

Every new pin was resolved against the upstream repo's tag refs. All five land on real, tagged upstream releases; every compare is ahead with behind_by: 0 (no force-push / history rewrite), and the trailing # vX comments still match.

Action Old → New Resolves to
Swatinem/rust-cache e18b4976323deb v2.9.2 (45 commits)
docker/login-action abd2ef4dbcb813 v4.5.1 → v4.6.0 (also v4)
release-drafter/release-drafter eada3c934d8067 v7.6.0 → v7.7.0
Kesin11/actions-timeline 7bf799957fc93f v3.1.1 → v3.2.0 (comment updated ✅)
actions/setup-go go-version 1.26.51.26.6 Go 1.26.6 patch

Upstream release-note review

docker/login-action v4.5.1 → v4.6.0 — the range spans v4.5.2 + v4.6.0. Two behavioural commits:

  • Surface Docker Hub OIDC error responses (#1058) — parseError in src/dockerhub.ts now emits JSON.stringify(errResp) of the entire Docker Hub API error body instead of extracting only description/message/detail/error. That widens what can reach the job log, so I traced reachability: docker.login() only enters dockerhub.getOIDCToken() when dockerhub.isDockerHubOIDC(registry, password) is true. All four call sites here (customer-docker.yml:29, dev-docker.yml:64, mysql-debug-docker.yml:63, stable-docker.yml:26) target registry: ghcr.io with an explicit username/password, so the OIDC branch is never taken and this path is unreachable. Not a leak for us, but worth knowing if a Docker Hub OIDC login is ever added.
  • Harden buildx scoped config path handling (#1059) — hardening only; we pass no scope input, so no behaviour change.

Swatinem/rust-cache → v2.9.2 — the largest jump, but the functional changes are all cache cleanup/restore fixes: target names included in build/ + .fingerprint/ cleanup (#317, #320), $CARGO_HOME/bin scanned on restore instead of trusting cargo install metadata (#325), Cargo V2 build-dir layout support (#371), plus a Rollup bundle-splitting migration and its Windows path-validation follow-up (#355). Only consumer is the nexus workspace in .github/workflows/ci.yml:59 on Linux. Worst realistic case is a one-off cold cache or a differently-sized cache entry — no correctness impact on the build.

release-drafter v7.6.0 → v7.7.0 — the notable feature is categorize PRs based on conventional title (#1556). It is opt-in: it adds a conventional predicate usable inside categories[].*. Our .github/release-drafter.yml defines no categories at all (just template/version-resolver/name-template/tag-template), so drafted notes are unchanged. Also in range: Log all config sources (#1674) — logs only config file paths and repo names via core.info, no tokens or PII; GraphQL 17 support + Octokit pagination refactor; transient-API-failure retries; proxy-aware fetch fix. Everything stays within the v7 config schema, so the existing # v7 pin comment remains correct.

Kesin11/actions-timeline v3.1.1 → v3.2.0 — adds rendering for GitHub's new parallel step syntax plus a companion skip synthetic parallel parents fix in composite-action expansion. tilt-flow.yml:210 sets expand-composite-actions: true, so that fix does touch our path — but the action only renders a timeline chart in the job summary and cannot affect test outcomes.

Go 1.26.5 → 1.26.6 — patch release. All three go-version pins were updated consistently (cleanup.yml:17, golang-lint.yml:27, tilt-flow.yml:235); no stale 1.26.5 is left in the repo, and the go 1.26.0 directives in flow/go.mod, flow/pkg/go.mod, and e2e_cleanup/go.mod are unaffected (no toolchain lines to keep in sync).

Secret / PII in logs

No new stdout/stderr/log output is introduced by the diff itself, and the one upstream change that widens logged error content (login-action #1058) sits on a code path unreachable for our ghcr.io logins.

@renovate
renovate Bot force-pushed the renovate/github-actions branch from 20db512 to e8c0847 Compare August 21, 2026 17:45
@claude

claude Bot commented Aug 21, 2026

Copy link
Copy Markdown

Renovate bump review — no findings ✅

Reviewed per .claude/REVIEW.md. Every pinned SHA was resolved against upstream and the full commit range for each bump was read. No secret/PII logging changes affecting this repo, and no regressions identified.

SHA ↔ version comment verification

Action Pinned SHA Resolves to Comment
Swatinem/rust-cache 6323deb tag v2 = v2.9.2 # v2
docker/login-action dbcb813 tag v4 # v4
release-drafter/release-drafter 34d8067 tag v7.7.0 (= current v7) # v7
Kesin11/actions-timeline 57fc93f tag v3.2.0 # v3.2.0 ✅ (correctly updated from v3.1.1)

Go 1.26.5 → 1.26.6 — patch release, 26 backports to release-branch.go1.26. Purely bugfix/security, no API changes: net/url quadratic complexity in resolvePath, html/template JavaScript regexp tracking, encoding/xml depth handling, encoding/asn1 recursion depth cap, CVE-2026-56864 / CVE-2026-56865 in vendored x/mod, plus crypto/tls and compiler fixes. Net positive. All three actions/setup-go call sites (cleanup.yml, golang-lint.yml, tilt-flow.yml) are updated consistently — no stale 1.26.5 left in the repo, and go 1.26.0 in the go.mod files is satisfied. (stacks/flow.Dockerfile pins golang:1.26-alpine by digest and is tracked on its own Renovate track — expected, not a miss.)

docker/login-action abd2ef4dbcb813 (18 commits) — two behavioral changes, neither reachable here:

  • parseError in src/dockerhub.ts now serializes the entire JSON error body into the thrown message, and the 401 → "operation not permitted" redaction moved after the body branch. This is the Docker Hub OIDC path only; all four call sites in this repo use registry: ghcr.io with secrets.GITHUB_TOKEN, so it never executes. Flagging for awareness only — if a Docker Hub login is ever added, error output becomes less redacted.
  • scopeToConfigDir gained path-traversal hardening (isChildPath + scope @-separator validation). Only active when the scope input is set; not used here.

Remainder is dependency bumps.

Swatinem/rust-cache e18b4976323deb (45 commits) — the largest jump. The old pin was an untagged master commit from 2026-03-12, so this spans ~5 months up to v2.9.2. Substantive changes are all in cache save/restore internals: migration to rollup bundle splitting, build/ + .fingerprint/ cleanup now target-name aware, cdylib/rlib/dylib/staticlib handling, Cargo V2 build-dir layout support, credentials cleanup path fix, and more cargo binaries cached. Blast radius is limited to the nexus workspace cache in ci.yml — worst case is a one-time cache miss or reduced hit rate, not build correctness. The one known regression from the rollup migration was Windows cache-path validation (fixed in a31add9f, included in this range) and ci.yml runs on Linux regardless.

release-drafter eada3c934d8067 (20 commits, v7.6.0 → v7.7.0) — within v7, no config-schema migration needed. The new conventional category matcher (#1556) is opt-in via a new config key; .github/release-drafter.yml here defines no categories, so behavior is unchanged. Also included: Octokit GraphQL pagination refactor, retry on transient GitHub API failures, and expanded config-source logging (#1674) — that logging emits only repo/owner/filepath/ref, no tokens. Affects draft release notes only.

Kesin11/actions-timeline v3.1.1 → v3.2.0 — adds parallel-step rendering and reworks composite-action matching to skip synthetic parallel parents. This repo sets expand-composite-actions: true, so the changed code path is exercised, but the action only renders a timeline into the run summary and cannot affect job outcomes. Action runtime unchanged (node24 in both versions).

@renovate
renovate Bot force-pushed the renovate/github-actions branch from e8c0847 to 7e6c16c Compare August 24, 2026 12:52
@claude

claude Bot commented Aug 24, 2026

Copy link
Copy Markdown

Renovate bump review — no findings

Reviewed per .claude/REVIEW.md (secret/PII log exposure + upstream regression check). Diff is 9 workflow files, action pins + Go patch version only. Looks clean.

Digest ↔ tag verification

Every new SHA was verified against the upstream tag it claims in the trailing comment — no mismatches, no digests pointing at un-tagged branch heads:

Action New SHA Resolves to
Swatinem/rust-cache 6323deb refs/tags/v2v2.9.2
docker/login-action dbcb813 refs/tags/v4v4.6.0
release-drafter/release-drafter 34d8067 refs/tags/v7v7.7.0
Kesin11/actions-timeline 57fc93f v3.2.0

Upstream release-notes / commit-log review

Swatinem/rust-cache → v2.9.2 (45 commits, spans 2.9.0 → 2.9.2). Biggest range in this PR, used only by the nexus Rust build in ci.yml.

  • v2.9.0 migrated to the node24 runner — fine on the GitHub-hosted ubuntu-latest runners this repo uses.
  • v2.9.0 changed cache-key computation (Consider all installed toolchains in cache key, case-insensitive full-key match), and v2.9.1 fixed a hash regression introduced there. Practical effect: expect a one-time cold cache / slower nexus job on the first run after merge. Not a defect.
  • v2.9.2 is mostly cleanup-path fixes (build/, .fingerprint/, cdylib/rlib targets, Cargo V2 build-dir layout), a Windows path fix (N/A here), and a rollup bundle-split of dist.
  • No open regression issues filed upstream since v2.9.2 shipped.

docker/login-action → v4.6.0 (18 commits). Two behavioural changes, both checked against the secret-logging rule:

  • "surface Docker Hub OIDC error responses" now dumps the full JSON error body into the thrown error instead of cherry-picking description/message/detail/error, and it no longer short-circuits 401 to a generic message when a JSON body is present. This only affects the Docker Hub OIDC code path (src/dockerhub.ts); all four call sites here log into ghcr.io with username/password, so that path is never taken. Bodies are OAuth-style {error, error_description} and carry no credential material. No exposure.
  • "harden buildx scoped config path handling" adds path-traversal validation to the scope input and now throws on scopes with multiple @, uppercase actions, or paths escaping the buildx config dir. None of the four login-action steps here pass scope, so scopeToConfigDir returns early — no impact.

release-drafter → v7.7.0 (20 commits).

  • feat: categorize PRs based on conventional title (UI: Add create mirror buttons #1556) is opt-in — it adds a conventional predicate usable inside category conditions. .github/release-drafter.yml here defines no categories (just template/version-resolver/name-template/tag-template), so drafted notes are unchanged.
  • feat: log all config sources (swapping out custom error for errors.ErrUnsupported #1674) logs config file paths and owner/repo only — no tokens or secrets. Clean under the log-exposure rule.
  • fix: preserve proxy-aware fetch in octokit client and the GraphQL-pagination refactor are the only runtime-behaviour changes; nothing depends on repo config here.

Kesin11/actions-timeline → v3.2.0. Adds rendering for the new parallel step syntax plus a composite-action fix (Skip synthetic parallel parents). tilt-flow.yml sets expand-composite-actions: true, which that fix specifically targets. Purely observability — cannot affect test outcomes.

Go 1.26.5 → 1.26.6. Patch bump, applied consistently to all three setup-go call sites (cleanup.yml, golang-lint.yml, tilt-flow.yml). Verified no stale 1.26.5 remains anywhere in the repo; go.mod files declare go 1.26.0, so the toolchain is compatible.

Consistency sweep

All four docker/login-action pins (customer-docker, dev-docker, mysql-debug-docker, stable-docker) were updated together — no straggler left on the old digest. No secrets, credentials, or new log output introduced by this diff.

Note: stacks/flow.Dockerfile pins golang:1.26-alpine by image digest and is tracked separately by Renovate, so the container toolchain may briefly trail CI's 1.26.6. Pre-existing arrangement, flagged only for awareness.

@renovate
renovate Bot force-pushed the renovate/github-actions branch from 7e6c16c to 6ecf8bb Compare August 24, 2026 18:57
@claude

claude Bot commented Aug 24, 2026

Copy link
Copy Markdown

Renovate review — verified, looks clean ✅

Automated review ran (per .claude/REVIEW.md). No blocking findings; posting a summary so reviewers know the workflow executed.

Digest ↔ tag verification (supply-chain check)

Every pinned SHA was resolved against the upstream repo — all match a real release tag, none are unreachable or off-tag:

Action New SHA Resolves to
Swatinem/rust-cache 6323deb v2.9.2 (also what v2 points at)
docker/login-action dbcb813 v4 tag head
release-drafter/release-drafter 34d8067 v7.7.0
Kesin11/actions-timeline 57fc93f v3.2.0

Regression review of the bumped ranges

Swatinem/rust-cache v2.9.1 → v2.9.2 (.github/workflows/ci.yml, nexus workspace)
Largest change in the PR. Upstream migrated the bundle to Rollup with code splitting, so action.yml entry points moved (dist/restore/index.jsdist/restore.js, same for save). Runtime stays node24. Functional changes: Cargo V2 build-dir layout support (#371), cleanup now preserves cdylib/rlib/dylib/staticlib targets (#317, #320), more cargo binaries cached (#325), Windows cache-path fix (#355), credentials.toml cleanup fix.

  • Expect one cold Rust cache after merge. getRustVersions changed from a Set<RustVersion> (whose .sort() compared objects → effectively a no-op) to a sorted/deduped Array<string>, which changes the SHA-1 cache key. One-time slower nexus build, then back to normal. No action needed.
  • The buildjet value for cache-provider was dropped upstream; this repo uses the default (github), so no impact.

docker/login-action v4 digest bump
Two behavioral commits, neither reachable from this repo's usage:

  • harden buildx scoped config path handling — adds path-traversal validation to scopeToConfigDir, which now throws on registry/scope values that escape the buildx config dir or use malformed scope actions. No workflow here passes a scope input, so the function short-circuits.
  • surface Docker Hub OIDC error responsesparseError now JSON.stringifys the whole Docker Hub error body into the thrown message, and the 401 → "operation not permitted" short-circuit moved after that. Worth noting because it makes more of the API response land in job logs, but dockerhub.ts is only exercised for Docker Hub auth; all four call sites here (customer-docker, dev-docker, stable-docker, mysql-debug-docker) use registry: ghcr.io. No new secret exposure.

release-drafter v7.6.0 → v7.7.0 (.github/workflows/release-drafter.yml)
No breaking changes in the release notes. Adds conventional-title categorization (#1556), config-source logging (#1674), GitHub API retry on transient failures (#1680), GraphQL pagination via Octokit (#1679), and a proxy-aware fetch fix (#1682). parse-categories.ts did drop the changeConditionSchemaDefaults spread from when conditions — this repo's .github/release-drafter.yml defines no categories (just template / version-resolver / name-template / tag-template), so that path is inert. The new config logging emits repo/filepath/ref only, no secrets.

Kesin11/actions-timeline v3.1.1 → v3.2.0 (.github/workflows/tilt-flow.yml)
Purely additive: renders GitHub's new parallel step syntax. Includes #363, which skips synthetic parallel parents specifically for composite expansion — relevant since this call site sets expand-composite-actions: true. Low risk.

Go 1.26.5 → 1.26.6 (cleanup.yml, golang-lint.yml, tilt-flow.yml)
Patch bump, present in the actions/go-versions manifest. Confirmed all three go-version occurrences in .github/workflows/ were updated — no stragglers left on 1.26.5. go 1.26.0 directives in flow/go.mod, flow/pkg/go.mod, and e2e_cleanup/go.mod are unaffected. (FYI: 1.26.6 is not the newest — 1.26.7 and 1.27.0 are out; Renovate is holding them behind minimumReleaseAge, which is why renovate/stability-days is pending.)

Secrets / PII in logs

No changes in this diff add stdout, stderr, or log output. Nothing prints credentials, tokens, or connection details.

@renovate
renovate Bot force-pushed the renovate/github-actions branch from 6ecf8bb to baf4540 Compare August 25, 2026 01:37
@claude

claude Bot commented Aug 25, 2026

Copy link
Copy Markdown

Renovate review — no findings

Reviewed per .claude/REVIEW.md (dependency-bump path). All five bumps check out; nothing blocking.

Digest pins verified against upstream

Each pinned SHA was resolved against the upstream repo to confirm it matches the tag the trailing comment claims:

Action New pin Resolves to Comment
Kesin11/actions-timeline 57fc93f v3.2.0 tag # v3.2.0
Swatinem/rust-cache 6323deb v2 tag → v2.9.2 # v2
docker/login-action dbcb813 v4 tag # v4
release-drafter/release-drafter 34d8067 v7 tag → v7.7.0 # v7

No mismatched or unreachable digests, and no comment drift.

Release-note review per bump

Go 1.26.5 → 1.26.61.26.6 is a security release (fixes in go command, crypto/tls, encoding/asn1, encoding/xml, html/template, net, net/http, net/url), so this is worth taking. All three actions/setup-go call sites in the repo were bumped consistently (cleanup.yml, golang-lint.yml, tilt-flow.yml); no stale 1.26.5 pin left behind. The go.mod files declare go 1.26.0 and are correctly untouched.

Note: 1.26.7 (net/http fix only, non-security) and 1.27.0 already exist upstream — Renovate is holding them behind its stabilization window, which is expected. Separately, stacks/flow.Dockerfile builds from golang:1.26-alpine pinned by digest, so the shipped image toolchain is tracked by a different Renovate update, not this one. Out of scope here, just flagging where the security fix does and does not land.

Swatinem/rust-cache e18b4976323deb — the old pin was v2.9.1 plus one changelog-only commit, so this is effectively v2.9.1 → v2.9.2, fixes only: cleanup-path corrections (#317, #320), Cargo V2 build-dir layout support (#371), and $CARGO_HOME/bin scanning on restore (#325). The range also contains the internal rollup bundle-splitting migration — the highest-churn item — but the one regression it caused (Windows cache-path validation) was already fixed in-range by #355, and the only consumer here is the nexus Rust workspace in ci.yml on Linux. Worst case is a cache miss, not a wrong build.

docker/login-action abd2ef4dbcb813 — 18 commits, mostly dependency bumps. Two behavioral changes reviewed closely:

  • "surface Docker Hub OIDC error responses" rewrites parseError to JSON.stringify the entire response body into the thrown error instead of extracting only known fields, and moves the 401 short-circuit to after body parsing. Checked against the secret/PII-in-logs rule in .claude/REVIEW.md: it is confined to src/dockerhub.ts, which is only reached on the Docker Hub OIDC login path. Every login step in this repo targets ghcr.io with an explicit username/password, so the path is not exercised — and Actions secret masking applies regardless. No exposure here, but worth remembering if a Docker Hub OIDC login is ever added.
  • "harden buildx scoped config path handling" — hardening, no config surface change.

release-drafter eada3c934d8067 (v7.7.0) — the notable feature is "categorize PRs based on conventional title" (#1556). Confirmed opt-in: it adds a conventional predicate to categories[].conditions. This repo's .github/release-drafter.yml defines no categories: at all (flat $CHANGES template), so drafting behavior is unchanged. "Log all config sources" (#1674) emits only owner/repo/filepath@ref — no secrets. Also includes a proxy-aware fetch fix and GraphQL 17 support.

Kesin11/actions-timeline v3.1.1 → v3.2.0 — adds rendering for the new workflow parallel step syntax, plus #363 which skips synthetic parallel parents during composite expansion. action.yml is unchanged across the range (same inputs, same node24 runner), so the expand-composite-actions: true usage in tilt-flow.yml stays valid. This step only renders a timeline into the run summary and cannot affect test outcomes.

Secrets / PII

No new stdout/stderr/log output is introduced by the diff itself, and the two upstream logging changes in range (login-action error bodies, release-drafter config sources) were both inspected and are clean for this repo's usage.


🤖 Reviewed with Claude Code

@github-actions

Copy link
Copy Markdown
Contributor

🔄 Flaky Test Detected

Analysis: All failures are WaitFor/status polling timeouts (mostly BigQuery e2e tests) that differ between two matrix shards while a third shard passed entirely, on a Renovate PR that only bumps GitHub Action pins — indicating slow/overloaded CI rather than a code regression.
Confidence: 0.9

✅ Automatically retrying the workflow

View workflow run

@github-actions

Copy link
Copy Markdown
Contributor

🔄 Flaky Test Detected

Analysis: All failures are BigQuery-only "UNEXPECTED TIMEOUT" waits for sync/normalization, hitting different tests in each matrix leg within the same time window, on a Renovate GitHub-Actions digest bump that cannot affect BQ behavior — consistent with transient BigQuery ingestion latency rather than a code regression.
Confidence: 0.9

✅ Automatically retrying the workflow

View workflow run

@renovate
renovate Bot force-pushed the renovate/github-actions branch from baf4540 to 0b92890 Compare August 25, 2026 22:53
@claude

claude Bot commented Aug 25, 2026

Copy link
Copy Markdown

Dependency bump review — no findings

Reviewed per .claude/REVIEW.md. Pure CI dependency bump; no application code touched, and no new stdout/stderr/log output is introduced by the diff (rule 1 — clean).

SHA pin verification

Every pinned digest was resolved against the upstream repo (annotated tags dereferenced) and matches the version claimed in the trailing comment — no digest/comment mismatch, no unexpected commit:

Action Range Pin resolves to
Kesin11/actions-timeline v3.1.1 → v3.2.0 57fc93f = tags v3.2.0 and v3
Swatinem/rust-cache ~v2.9.1 → v2.9.2 6323deb = tags v2.9.2 and v2
docker/login-action v4.5.1 → v4.6.0 dbcb813 = tags v4.6.0 and v4
release-drafter/release-drafter v7.6.0 → v7.7.0 34d8067 = tags v7.7.0 and v7

No stale copies of the old digests remain anywhere in the repo, and all three go-version pins (cleanup.yml, golang-lint.yml, tilt-flow.yml) moved together to 1.26.6 — no partial bump. The go.mod files declare go 1.26.0, so they stay compatible.

Regression assessment of the bumped ranges

Go 1.26.5 → 1.26.6 — security/bugfix point release (27 commits on release-branch.go1.26), no language or stdlib API changes. Includes CVE-2026-56864/CVE-2026-56865 fixes in vendored x/mod, plus fixes in net/url (quadratic resolvePath), html/template, encoding/xml, encoding/asn1, crypto/tls and several compiler correctness fixes. Strictly a net positive; no regression risk here.

Swatinem/rust-cache → 2.9.2 (ci.yml, nexus workspace) — the largest surface (45 commits). Changelog: credentials.toml cleanup fix, cleanup preserving more valid targets, cargo install handling, Rust version sort/dedupe. Two things worth flagging:

  • 👍 Security-relevant fix, in our favour: cb96ac7 corrects the credentials cleanup path from $CARGO_HOME/.cargo/credentials.toml to $CARGO_HOME/credentials.toml. Previously that unlink silently no-op'd, so a credentials.toml could be persisted into the Actions cache. The nexus job never runs cargo login, so there was no prior exposure here, but this closes the hole.
  • ⚠️ Behaviour to watch (perf only, not correctness): the range rewrites cache-cleanup logic (#317, #320, #371 Cargo V2 build-dir layout, "invert target/profile check in cleanup") and caches more cargo install binaries (#325). Worst case is a changed cache footprint or a one-off cache miss on the first run after merge, not a broken build. The action was also re-bundled with Rollup; the follow-up Windows path fix (#355) does not apply since CI is Linux-only. No open upstream issues report a 2.9.2 regression.

docker/login-action → v4.6.0 (4 docker workflows) — two behaviour changes, neither reachable from our usage:

  • #1059 adds path-traversal validation to buildx scoped config dirs, throwing Invalid scope/Invalid registry. scopeToConfigDir() returns early when no scope input is set, and none of the four call sites pass scope, so this cannot start failing our logins.
  • #1058 now dumps the full JSON error body on Docker Hub API failures instead of allow-listed fields — slightly wider error output, but it lives in src/dockerhub.ts on the Docker Hub OIDC path. All four call sites log into ghcr.io with username/password, so that code path never executes. No secret-exposure concern.

Kesin11/actions-timeline → v3.2.0 (tilt-flow.yml) — adds rendering for the new workflow parallel step syntax (#362), plus #363 fixing composite-action matching against the synthetic parallel parents that same feature introduced. We pass expand-composite-actions: true, which is exactly what #363 touches, and it is a fix rather than a change in shape. Purely a post-run visualisation step, so a regression there cannot affect job outcomes.

release-drafter → v7.7.0 (release-drafter.yml) — headline feature is conventional-title-based PR categorisation (#1556), which is opt-in via conventional: predicates on categories: entries. Our .github/release-drafter.yml defines no categories: at all (flat $CHANGES template with version-resolver/name-template/tag-template), so draft output is unchanged. feat: no new contributor template likewise only applies to templates using $NEW_CONTRIBUTORS, which ours does not. The rest is an Octokit GraphQL pagination refactor, transient-failure retries, and a proxy-aware fetch fix (#1682) — all neutral-to-beneficial.

Verdict: bump is clean, digests are trustworthy, and no regression affects a code path this repo exercises. 👍

@renovate
renovate Bot force-pushed the renovate/github-actions branch from 0b92890 to 1ab2619 Compare August 26, 2026 03:44
@claude

claude Bot commented Aug 26, 2026

Copy link
Copy Markdown

Dependency bump review — no findings ✅

Reviewed all 5 GitHub Actions bumps per .claude/REVIEW.md: digest provenance verified against upstream tags, upstream commit ranges and release notes read for regressions, and no new stdout/log output that could leak secrets or PII.

Digest provenance — every pinned SHA dereferences to the release its trailing comment claims:

Action New digest Resolves to Comment
Swatinem/rust-cache 6323deb v2v2.9.2 # v2
docker/login-action dbcb813 v4v4.6.0 # v4
release-drafter/release-drafter 34d8067 v7.7.0 # v7
Kesin11/actions-timeline 57fc93f v3.2.0 # v3.2.0

All four still declare using: node24 — no runtime change.

Regression assessment per bump

  • Go 1.26.51.26.6 — this is a security release (fixes in go command, crypto/tls, encoding/asn1, encoding/xml, html/template, net, net/http, net/url, plus compiler/linker/runtime bug fixes). Worth taking. All three setup-go pins in the repo (cleanup.yml, golang-lint.yml, tilt-flow.yml) were bumped consistently — no stragglers. Note the runtime image in stacks/flow.Dockerfile (golang:1.26-alpine) is digest-pinned and tracked by Renovate separately, so it picks up 1.26.6 on its own schedule; that's the existing pattern, not a gap introduced here.
  • docker/login-action v4.5.1 → v4.6.0 — the substantive changes are #1059 (path-traversal hardening of scopeToConfigDir, now rejecting scopes that escape the buildx config dir) and #1058 (Docker Hub OIDC errors now serialize the whole JSON error body instead of whitelisted fields). Neither reaches this repo's code path: all five call sites log into ghcr.io with registry/username/password only — no scope input, no Docker Hub OIDC. The remainder is AWS SDK / postcss / js-yaml dependency bumps. Checked #1058 specifically for secret leakage — it widens what is printed only on the Docker Hub token-endpoint error response, not credentials, and is unreachable here.
  • Swatinem/rust-cache v2.9.1 → v2.9.2 — cache-cleanup correctness fixes (#317, #320: target names and cdylib/rlib/dylib/staticlib included in build/ + .fingerprint/ pruning), $CARGO_HOME/bin scanned on restore instead of trusting cargo install metadata (#325), Cargo V2 build-dir layout support (#371), and a rollup bundle-split refactor with a follow-up Windows path fix (#355, irrelevant — ci.yml runs on ubuntu). Only affects the nexus workspace cache. Expect at most a one-time cache miss as cached content changes; self-healing. No open upstream issues reporting v2.9.2 regressions.
  • release-drafter v7.6.0 → v7.7.0 — the headline feature, conventional-title categorization (#1556), is strictly opt-in via a conventional predicate under categories; .github/release-drafter.yml here defines only template/version-resolver/name-template/tag-template with no categories, so behavior is unchanged. The rest of the range is net-positive: transient GitHub API retry (#1680), proxy-aware fetch fix (#1682), Octokit GraphQL pagination refactor (#1679), GraphQL 17 support. #1674 "Log all config sources" logs config file provenance, not secrets.
  • Kesin11/actions-timeline v3.1.1 → v3.2.0 — adds rendering for the new workflow parallel: step syntax and skips synthetic parallel parents during composite expansion. No workflow in this repo uses parallel:, and expand-composite-actions: true in tilt-flow.yml is unaffected.

Secrets/PII check: no bump introduces new logging of credentials, tokens, or PII on any code path this repo exercises.

CI is green on the PR (build matrix, docker-build, CodeQL, lint all passing).

@github-actions

Copy link
Copy Markdown
Contributor

🔄 Flaky Test Detected

Analysis: All failures are 60s WaitFor/status-poll timeouts (CDC not caught up in time) hitting disjoint test sets across two matrix legs while a third leg passed fully, on a Renovate PR that only bumps pinned GitHub Action SHAs and cannot affect replication behavior — consistent with resource contention under -p 32 rather than a real regression.
Confidence: 0.92

✅ Automatically retrying the workflow

View workflow run

@github-actions

Copy link
Copy Markdown
Contributor

🔄 Flaky Test Detected

Analysis: TestApiPg/TestResyncWithSnapshotConfigOnPausedPipe timed out after 180s waiting for the flow to be dropped during teardown (api_test.go:1810) on only one of three matrix legs, in a Renovate PR that changes GitHub Actions versions only — all functional assertions in the test passed.
Confidence: 0.88

✅ Automatically retrying the workflow

View workflow run

@renovate
renovate Bot force-pushed the renovate/github-actions branch from 1ab2619 to 238a984 Compare August 26, 2026 17:14
@claude

claude Bot commented Aug 26, 2026

Copy link
Copy Markdown

Renovate review — Update github-actions dependencies

Reviewed per .claude/REVIEW.md. No findings — looks clean.

Digest/tag verification (each pinned SHA resolved against the upstream tag it claims in its trailing comment):

Action New SHA Resolves to
Swatinem/rust-cache 6323deb v2v2.9.2
docker/login-action dbcb813 v4v4.6.0
release-drafter/release-drafter 34d8067 v7v7.7.0
Kesin11/actions-timeline 57fc93f v3.2.0

All four are ahead / 0 behind relative to the previous pins (no history rewrite, no force-push onto the tag), and every call site in .github/workflows/ was updated consistently — no stale digests left behind.

Upstream change review

  • Go 1.26.5 → 1.26.6 — security/bugfix patch: x/mod CVE-2026-56864 and CVE-2026-56865, net/url quadratic complexity in resolvePath, html/template regexp tracking, encoding/xml + encoding/asn1 recursion-depth hardening, crypto/tls post-handshake state fix, plus assorted compiler/runtime fixes. Strictly a good bump. All three go-version: pins (cleanup.yml, golang-lint.yml, tilt-flow.yml) were updated; the go.mod files stay at go 1.26.0, so no toolchain mismatch.
  • rust-cache v2.9.1 → v2.9.2 (45 commits) — largest delta here. Functional changes: cargo-bin caching now scans $CARGO_HOME/bin on restore instead of trusting cargo install metadata (creating all normalized tables in a single activity #325), build/ and .fingerprint/ cleanup is now target-name aware (increase normalize time #317, WorkFlow Task timeout #320), Cargo V2 build-dir layout support (Support Binary Types in Postgres Query Layer #371), plus an internal esbuild→rollup bundle-split migration. Practical effect for the nexus workspace in ci.yml: expect a one-time cache miss / re-population on the first run after merge (slower cargo check, then back to normal). The one rollup-migration regression in this range (Windows cache-path validation) was fixed by Adds variable assignments in clonetable #355 before this tip, and the runner is Ubuntu anyway. No open regression reports against v2.9.2 upstream.
  • docker/login-action → v4.6.0 — two behavioral commits, neither reachable from how this repo uses the action: (a) Docker Hub OIDC error surfacing now echoes the parsed JSON error body (UI: Fix caching #1058) — that is the Docker Hub OIDC path only; these workflows log into ghcr.io with github.actor + token, so it is not hit, and the echoed content is an API error body, not credentials; (b) buildx scoped-config path-traversal hardening (chore: update dependencies #1059) — only applies when the scope input is set, which none of the four call sites use.
  • release-drafter → v7.7.0 — the new features are opt-in and do not affect .github/release-drafter.yml (template + version-resolver only, no categories): conventional-title categorization (UI: Add create mirror buttons #1556) requires a conventional: predicate in category config, and the new-contributor template (PG to PG: TSTZRange and JSONB #1687) requires $NEW_CONTRIBUTORS in the template. Useful fixes included: proxy-aware fetch preserved in the Octokit client (PopulateCountMap: use atomics #1682) and retry on transient GitHub API failures (Incontinency whit Postgres Schemas with double qutes #1680). The new "log all config sources" (swapping out custom error for errors.ErrUnsupported #1674) logs only config file paths/refs — no token or secret exposure.
  • actions-timeline v3.1.1 → v3.2.0 — adds rendering for the new GitHub parallel step syntax, plus Fix Linux docker-compose error and add TEMPORAL_CSRF_COOKIE_INSECURE=true #363 which skips synthetic parallel parents during composite matching. tilt-flow.yml sets expand-composite-actions: true, so Fix Linux docker-compose error and add TEMPORAL_CSRF_COOKIE_INSECURE=true #363 is the relevant path; it is job-summary rendering only, and the workflow does not use parallel: steps today. No permission-scope change.

Secret/PII check (.claude/REVIEW.md §1): the diff is 10 lines of pin/version changes only — no new run: steps, no added logging, no secret handling touched.

@renovate
renovate Bot force-pushed the renovate/github-actions branch from 238a984 to b097fa1 Compare August 26, 2026 18:10
@claude

claude Bot commented Aug 26, 2026

Copy link
Copy Markdown

Renovate bump review — looks clean ✅

Reviewed per .claude/REVIEW.md. No blocking findings; no new stdout/stderr/log output that could leak secrets or PII is introduced by this diff.

Digest/version verification — every new pin resolves to a legitimate upstream ref (no arbitrary/unreleased master commits):

Action New pin Resolves to Comment matches
Swatinem/rust-cache 6323deb tag v2v2.9.2 # v2
docker/login-action dbcb813 tag v4v4.6.0 # v4
release-drafter/release-drafter 34d8067 tag v7v7.7.0 # v7
Kesin11/actions-timeline 57fc93f tag v3.2.0 # v3.2.0

go-version 1.26.51.26.6 is published in actions/go-versions (1.26.6-31764261251), and all three call sites (cleanup.yml, golang-lint.yml, tilt-flow.yml) were updated consistently — no stale 1.26.5 left in the repo. The go.mod language directives stay at 1.26.0, which is unaffected.

Upstream changes in the bumped ranges — regression assessment:

  • rust-cache v2.9.1 → v2.9.2 (45 commits, mostly dependabot). Substantive: build/.fingerprint cleanup now includes target names and cdylib/rlib/dylib/staticlib targets (#317, #320), $CARGO_HOME/bin is scanned on restore instead of relying on cargo install metadata (#325), an internal Rollup bundle-splitting migration, and Cargo V2 build-dir layout support (#371). Also a Windows cache-path validation fix (#355) — not relevant, ci.yml runs the nexus workspace on Linux. Expected practical impact: possibly one cold cache miss on the first nexus build after merge, then back to normal. No open upstream issues reporting a v2.9.2 regression.
  • docker/login-action → v4.6.0 (18 commits). Behavior-relevant: Docker Hub OIDC error responses are now surfaced (#1058) and buildx scoped config path handling was hardened (src/context.ts). All four call sites here (customer-docker, dev-docker, stable-docker, mysql-debug-docker) log into ghcr.io with username/password, so the Docker Hub OIDC path is not exercised — no new secret-bearing output on our code path. The rest is dependency bumps.
  • release-drafter → v7.7.0 (20 commits). New: conventional-title categorization (#1556) — an opt-in conventional predicate under categories; our .github/release-drafter.yml defines no categories, so drafting behavior is unchanged. Also a GraphQL pagination refactor, transient-API-failure retries, a proxy-aware-fetch fix, and "log all config sources" (logs config file/repo origins only — no secret material).
  • actions-timeline v3.1.1 → v3.2.0 (37 commits). Adds rendering for the new GitHub Actions parallel step syntax (#362) plus a composite-expansion fix that skips synthetic parallel parents (#363). tilt-flow.yml uses expand-composite-actions: true, which remains supported; this is timeline-visualization only and cannot affect test outcomes.

No upstream issues reporting regressions were found for any of the four target versions. Safe to merge.

@renovate
renovate Bot force-pushed the renovate/github-actions branch from b097fa1 to e68ae07 Compare August 26, 2026 18:51
@claude

claude Bot commented Aug 26, 2026

Copy link
Copy Markdown

Renovate review — no findings ✅

Reviewed per .claude/REVIEW.md. All 10 changed lines are action-pin/version bumps across 9 workflow files. No new stdout/stderr/log output is introduced by this diff, and no secret-handling code path in this repo changes behaviour.

Pin integrity

Every pinned SHA was verified against the tag asserted in its trailing comment:

Action New SHA Comment Tag resolves to
Swatinem/rust-cache 6323deb v2 v26323deb (release v2.9.2)
docker/login-action dbcb813 v4 v4dbcb813
release-drafter/release-drafter 34d8067 v7 v734d8067 (release v7.7.0)
Kesin11/actions-timeline 57fc93f v3.2.0 v3.2.057fc93f

All four ranges are strictly ahead of the old pins (fast-forward, no history rewrite): rust-cache +45, login-action +18, release-drafter +20, actions-timeline +37.

Upstream regression check

Swatinem/rust-cache e18b4976323deb (v2.9.2) — no interface break for our usage. Two things worth calling out:

  • 🔒 Includes cb96ac76 "fix credentials cleanup path", correcting CARGO_HOME/.cargo/credentials.tomlCARGO_HOME/credentials.toml. On the old pin that pre-save scrub silently no-opped, so a ~/.cargo/credentials.toml would have been persisted into the Actions cache. Our nexus job never writes cargo credentials, so there is no exposure here — but this bump is a net security improvement, not a risk.
  • action.yml changed the main/post entrypoints (dist/restore/index.jsdist/restore.js) as part of the Rollup bundle-splitting migration, and dropped buildjet from the cache-provider options. ci.yml:59 only passes workspaces: nexus and never sets cache-provider, so neither affects us. Cache key shape is unchanged; expect at most one cold cache on the first run.
  • Remaining behaviour fixes (target-name handling in build/ and .fingerprint/ cleanup, Cargo V2 build-dir layout, $CARGO_HOME/bin scanning) are cache-hygiene only.

docker/login-action abd2ef4dbcb813 — mostly dependabot bumps. Two functional commits, neither reachable from our workflows:

  • 2aa1edee widens Docker Hub OIDC error surfacing to JSON.stringify the whole error body instead of picking known keys. That lives in src/dockerhub.ts and is only hit on Docker Hub OIDC login. All four call sites here (customer-docker.yml, dev-docker.yml, mysql-debug-docker.yml, stable-docker.yml) use registry: ghcr.io with username/password, so the path is never entered and no wider error body can reach our logs.
  • 8305724b hardens scopeToConfigDir against path traversal; only active when the scope input is set, which we do not set.

release-drafter eada3c934d8067 (v7.7.0) — no impact on our drafts. The conventional-title categorization feature (1556) is strictly opt-in via a new conventional key under categories; .github/release-drafter.yml here defines no categories at all (the template is a bare $CHANGES), so output is unchanged. The new-contributor template (1687) likewise needs a template hook we do not use. "Log all config sources" (1674) only emits the repo/path/ref of the config file — no token or PII. The range also picks up a genuine fix, "preserve proxy-aware fetch in octokit client" (1682), plus retry on transient GitHub API failures.

Kesin11/actions-timeline v3.1.1 → v3.2.0action.yml is byte-identical between the two tags (same inputs, same node24 runtime), so expand-composite-actions: true at tilt-flow.yml:210 carries over unchanged. The release is additive support for the new parallel step syntax plus a fix to skip synthetic parallel parents during composite expansion; worst case is a cosmetic difference in the timeline summary.

Go 1.26.51.26.6 — patch bump, present in the actions/go-versions manifest (1.26.6-31764261251), so setup-go will resolve it. Applied consistently: all three go-version occurrences in the repo (cleanup.yml:17, golang-lint.yml:27, tilt-flow.yml:235) were updated and no other Go pin exists — flow/go.mod, flow/pkg/go.mod and e2e_cleanup/go.mod all declare go 1.26.0 with no toolchain directive, so they stay compatible. No Go base image in any Dockerfile to drift.

Minor and non-blocking: 1.26.7 is already published upstream; Renovate is proposing 1.26.6 because of its stabilization delay, and the PR body flags 1.27.0 as pending. Safe to merge as-is and let the next Renovate run catch up.

🤖 Generated with Claude Code

@renovate
renovate Bot merged commit 5656c3a into main Aug 26, 2026
30 of 31 checks passed
@renovate
renovate Bot deleted the renovate/github-actions branch August 26, 2026 20:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant