Update dockerfile dependencies - #4682
Conversation
|
Reviewed this Renovate bump — no findings, looks clean. Digest verification Both pins resolve to the current published manifest for their tag:
Release notes list a single notable change: "Fix incorrect warning when matching dockerignore patterns to Hardening commits backported from v0.31.1 ( The
No incompatible changes. Relevant to PeerDB's MySQL CDC path, the replication/binlog fixes are net-positive rather than regressions — e.g. row-based apply with stored Checked the potentially disruptive items against this repo; none apply:
Blast radius is also limited: Unrelated to this PR, just flagging: |
dcd7194 to
9d3609e
Compare
Review: dependency bump reviewed — looks clean ✅No findings. Reviewed per Digest/tag integrity — all three pinned digests match what the tags currently resolve to on the registry:
Non-blocking, pre-existing, and out of scope for this PR: |
9d3609e to
5d6d3ca
Compare
|
Reviewed this Renovate bump per Digest verification All three pins resolve to the tags they claim, checked against Docker Hub right now:
Upstream changes in the bumped range
The release notes list exactly one notable change: "Fix incorrect warning when matching dockerignore patterns to Note that
Nothing that looks like a regression risk for PeerDB. Several fixes land in our favour on the MySQL CDC path:
The two incompatible changes in the release (EL7 support dropped,
Other checks
|
🔄 Flaky Test DetectedAnalysis: TestApiMy/TestTableAdditionWithoutInitialLoad hit the fixed 60s polling deadline in SetupCDCFlowStatusQuery while the mirror was still in STATUS_SETUP — a wall-clock timeout under CI load on a Renovate Dockerfile bump, with the same suite passing on the other two matrix legs. ✅ Automatically retrying the workflow |
🔄 Flaky Test DetectedAnalysis: A whole-stack stall on the single maria-12 matrix leg made every MariaDB→ClickHouse test time out (mirrors stuck in STATUS_SETUP, CDC never delivered) until Go's 20m package timeout panicked and marked all 95 in-flight/waiting tests failed, while the other two matrix legs ran the same suites successfully against unchanged service images on a Renovate Dockerfile-bump PR. ✅ Automatically retrying the workflow |
5d6d3ca to
9e7a240
Compare
|
Reviewed this Renovate bump — no findings, looks clean to merge. Digest verification. All three pins match what the tags currently resolve to on Docker Hub: Upstream changes in the bumped ranges
No new stdout/stderr/log output is introduced, so this diff adds no PII or secret-exposure surface. Informational, pre-existing and out of scope for this PR: |
b34cac4 to
2cd4d68
Compare
Renovate review:
|
| Pin | Live digest matches |
|---|---|
docker/dockerfile:1.26 -> ecfaec9e… |
✅ |
mysql:9.7.2 -> 257388ed… |
✅ |
node:24-alpine -> d32cdf61… |
✅ |
docker/dockerfile 1.25 -> 1.26 (stacks/flow.Dockerfile, stacks/peerdb-ui.Dockerfile)
The dockerfile/1.26.0 release notes list a single notable change, and the only non-test source changes under frontend/dockerfile in the 1.25.0…1.26.0 range are:
- moby/buildkit#6930 — fixes a false-positive
CopyIgnoredFilewarning forCOPY ./COPY /when.dockerignoredoes not actually exclude the context root. Warning-only; no build-semantics change. dockerfile: fix Windows SBOM scanner temp mount— Windows-only, not applicable here.vendor: migrate to gohugoio/hashstructureinbuilder/resolvecache.go— internal hashing-lib swap; at worst a one-time frontend resolve-cache miss.- A
WorkdirRelativePathlinter doc tweak — everyWORKDIRinstacks/*.Dockerfileis absolute, so no new lint warnings.
No new required frontend capabilities and no syntax changes, so no regression risk for these two Dockerfiles. docker-build on this PR passes, which exercises both.
Minor pre-existing note (not this PR): stacks/peerdb-server.Dockerfile is still pinned to docker/dockerfile:1@sha256:87999aa3…, while the 1 tag now resolves to the same digest as 1.26. That stack therefore builds with an older frontend than the other two. Untouched here — flagging only in case the pinning inconsistency is unintentional.
mysql 9.7.1 -> 9.7.2 (stacks/mysql.Dockerfile)
Patch release (2026-07-28). Relevant items from the 9.7.2 release notes:
- The replication fixes are all on the replica/applier side (
SOURCE_RETRY_COUNT=0now consistently unlimited, self-referencing-FK delete replication failure, row-basedTIMESTAMP NOT NULLrecompute). Nothing changes binlog emission — no row-format,binlog_row_metadata, or GTID changes — which is what PeerDB's MySQL CDC consumes.stacks/mysql/my.cnf.sample(binlog_format=ROW,binlog_row_image=full,binlog_row_metadata=full,gtid_mode=ON) is unaffected. - Behavior change:
thread_pool_max_unused_threadsdefault 2 -> 32. Irrelevant for a local test image. - Deprecations:
group_replication_communication_stack,group_replication_ip_allowlist— not used in this repo. - Dropped platform support: Enterprise Linux 7 — n/a for a container base.
Blast radius is small regardless: this image is a local/dev fixture, and CI's flow_test matrix uses mysql:9.5 (.github/workflows/flow.yml).
node:24-alpine digest bump (stacks/peerdb-ui.Dockerfile)
Renovate labels this digest-only, but the underlying Node version does move — worth knowing rather than a problem:
- old
a0b9bf06…= node 24.18.0-alpine3.24 - new
d32cdf61…= node 24.19.0-alpine3.24
Same Alpine 3.24 base, so no musl/openssl distro jump (relevant because the base stage runs apk add --no-cache openssl). The delta pulls in:
- v24.18.1 (security release, 2026-07-29) — 11 CVEs including three High: http2 header-memory accounting (CVE-2026-56846), http2 deferred rst-stream (CVE-2026-56848), permission-model radix split nodes (CVE-2026-58043); plus llhttp 9.4.3 and undici 7.29.0. Net security win for the UI runtime.
- v24.19.0 (LTS, semver-minor) — additive APIs only (
blob.textStream(),ReadableStreamTee,setKeepAliveTCP options, TLScertificateCompression, etc.). No removals or breaking changes affecting a Next.js 16 build, andui/package.jsondeclares noenginesconstraint.
Secrets / PII check
The diff touches only base-image pins — no new stdout/stderr/log output and no credentials. The pre-existing MYSQL_ROOT_PASSWORD=<some password> in the mysql.Dockerfile usage comment is an unchanged placeholder.
One thing to wait on
renovate/stability-days is still pending (minimum release age), so let that settle before automerge lands this.
|
Renovate review: Dockerfile dependency bumps — looks clean ✅ Reviewed per Digest verification
183 commits upstream, but only one is a real Dockerfile-frontend behavior change: moby/buildkit#6930, which fixes a spurious dockerignore warning for No regression exposure here:
Maintenance release (2026-07-28): bug fixes across InnoDB, JSON, optimizer, and replication. Items worth knowing:
Blast radius is small: this Dockerfile is only the local convenience image described in its own header. The CI matrix uses upstream
Renovate classifies this as digest-only, but the new digest is Other notes
|
🔄 Flaky Test DetectedAnalysis: TestPeerFlowE2ETestSuiteBQ/Test_Soft_Delete_Basic hit its 3-minute EnvWaitFor deadline waiting for a CDC update to normalize into BigQuery (insert had already succeeded, no BQ/network errors logged), while the same test passed on the other two matrix legs of this Renovate Dockerfile-bump PR — a latency flake, not a regression. ✅ Automatically retrying the workflow |
🔄 Flaky Test DetectedAnalysis: TestApiPg/TestResyncWithSnapshotConfigOnPausedPipe hit an UNEXPECTED TIMEOUT waiting 3 minutes for the flow to be dropped after termination in only 1 of 3 identical matrix legs, on a Renovate Dockerfile-only PR that cannot affect drop logic — a timing/race timeout rather than a real assertion failure, though the resync→terminate handoff deserves a look if it recurs. ✅ Automatically retrying the workflow |
2cd4d68 to
3ed42af
Compare
Dependency bump review — reviewed, looks clean ✅All three digests were verified against the current Docker Hub tag digests, and the upstream release notes / commit ranges were read for each bump. No blocking findings; no changes to stdout/stderr/logging and no secret or PII exposure.
|
3ed42af to
d378f58
Compare
Renovate bump review — clean ✅Reviewed per
|
d378f58 to
54d44e0
Compare
Dependency bump review — clean ✅Reviewed all three bumps against upstream release notes and verified the pinned digests resolve to the claimed tags on Docker Hub. Digest verification
|
🔄 Flaky Test DetectedAnalysis: All 9 failures on the single failing matrix leg are ~61s "UNEXPECTED STATUS TIMEOUT" waits on mirrors stuck in STATUS_SETUP/STATUS_SNAPSHOT across four unrelated suites, while the other two matrix legs passed on the same commit and all core services reported healthy — indicating runner-level stall/contention rather than a bug in this Renovate Dockerfile bump. ✅ Automatically retrying the workflow |
54d44e0 to
bd7f450
Compare
|
Reviewed this Renovate bump against Digest verification All three pinned digests match what the tags currently resolve to on Docker Hub (no tag/digest mismatch):
Upstream release notes for the bumped range docker/dockerfile 1.25 → 1.26 ( Side note: mysql 9.7.1 → 9.7.2 (
Worth noting for scope: this Dockerfile is a local/dev helper only. CI e2e runs pin node:24-alpine digest bump ( Other review criteria No new stdout/stderr/log output is introduced, so no PII or secret-exposure risk. The |
b3f3956 to
6347d47
Compare
Renovate review:
|
| Pin | Tag digest today | Match |
|---|---|---|
docker/dockerfile:1.26 |
sha256:ecfaec9e…95fc32 |
✅ |
mysql:9.7.2 |
sha256:257388ed…a7ab4e |
✅ |
node:24-alpine |
sha256:d32cdf61…e1ad43 |
✅ |
docker/dockerfile 1.25 → 1.26 (stacks/flow.Dockerfile, stacks/peerdb-ui.Dockerfile)
Frontend release notes for dockerfile/1.26.0 list a single notable change: "Fix incorrect warning when matching dockerignore patterns to COPY ." (moby/buildkit#6930). Diffing dockerfile/1.25.0...dockerfile/1.26.0, the only non-test changes under frontend/dockerfile/ are builder/build.go, builder/resolvecache.go, dockerfile2llb/validations.go, version/version.go and linter docs — no syntax/semantic changes affecting our directives (--mount=type=cache, COPY --chown, multi-stage, build args). No regression risk identified.
Note: exporter: default attestations to OCI artifacts also landed in that commit range, but that is a BuildKit daemon/exporter change, not part of the frontend the # syntax= line pins, so it is not pulled in by this bump.
mysql 9.7.1 → 9.7.2 (stacks/mysql.Dockerfile)
Routine patch on the 9.7 LTS line (docker-library/mysql, 2026-07-27). Release notes are net-positive for our MySQL CDC path — several binlog/replication fixes (SOURCE_RETRY_COUNT=0 now consistently treated as unlimited reconnects, row-based apply with TIMESTAMP NOT NULL, binary_log_transaction_compression_stats race, event-rotate/heartbeat handling) plus InnoDB AUTO_INCREMENT and unique-index fixes.
Checked the two behavior changes for impact and both are non-issues here:
thread_pool_max_unused_threadsdefault 2 → 32 — thread pool plugin isn't enabled instacks/mysql/my.cnf.sample.- Enterprise Linux 7 support dropped — irrelevant to the container image.
CUBE/EXTERNAL/QUALIFY/TABLESAMPLEare now properly reserved keywords — greppedflow/connectors/mysqlandflow/e2e/mysqlfor those identifiers, no hits.
Blast radius is also small: stacks/mysql.Dockerfile is a dev-only helper (per its own header comment) and isn't referenced by any compose file, Tiltfile, workflow, or Go test. CI's MySQL service uses mysql:9.5 (.github/workflows/flow.yml:57) and the e2e debug image pins 8.0.46 — both untouched and unaffected.
node:24-alpine digest (stacks/peerdb-ui.Dockerfile)
Renovate labels this digest-only, but the tag moved Node 24.18.0 → 24.19.0. The previous digest was pinned in #4514 (2026-06-29, 24.18.0 era); 24-alpine now resolves to NODE_VERSION=24.19.0 on alpine:3.24.
This is a security-relevant bump: it rolls up 24.18.1 (2026-07-29), which fixed 11 CVEs including high-severity HTTP/2 header memory retention / RST-stream handling and a permission-model radix tree issue, and updated llhttp 9.4.3 / undici 7.29.0. 24.19.0 itself is semver-minor LTS (new blob.textStream(), TurboSHAKE/KangarooTwelve WebCrypto, --experimental-import-text, etc.) with no breaking changes. Alpine base line is unchanged from the previous pin (3.24), so apk add openssl in the base stage is unaffected.
No PII/secret output is added anywhere in this diff.
Unrelated FYI (pre-existing, not introduced here)
stacks/peerdb-server.Dockerfile:1 pins docker/dockerfile:1@sha256:87999aa3… — that digest is the 1.24 frontend, so it's two minors behind. Because it uses the floating :1 tag instead of :1.25/:1.26, Renovate tracks it as a separate dependency and this PR doesn't touch it. Might be worth aligning it to 1.26 so all three images build with the same frontend.
038d621 to
f025146
Compare
🔄 Flaky Test DetectedAnalysis: All 19 failures across the two failing matrix legs are uniform ~60s "UNEXPECTED STATUS TIMEOUT STATUS_SNAPSHOT/STATUS_SETUP" waits on disjoint, unrelated tests with no assertion mismatches or panics, while the pg18 leg passed on identical code — consistent with runner resource contention, not a bug in this Dockerfile-only Renovate change. ✅ Automatically retrying the workflow |
f025146 to
4d4fd9a
Compare
Renovate dependency review — no findingsReviewed per
|
4d4fd9a to
fbbc71f
Compare
|
Reviewed this Renovate bump per Digest verification — all four pins match what the tags currently resolve to on Docker Hub:
Side note: Upstream review of the bumped ranges: docker/dockerfile 1.25 → 1.26 (release notes, full compare) — the only frontend-behavior change called out is moby/buildkit#6930, fixing a spurious dockerignore warning on mysql 9.7.1 → 9.7.2 (release notes) — bugfix-only: X Plugin and Clone plugin fixes, an audit-log crash fix, libfido2 1.17.0, optimizer/CTE/ROLLUP fixes. One default change ( node:24-alpine and cargo-chef digest bumps — same-tag rebases only; the Rust toolchain stays pinned at 1.97.1 by the tag itself. No version movement. Secrets/PII (REVIEW.md rule 1): no new stdout/stderr/log output introduced. The only credential-shaped string touched is the pre-existing
|
fbbc71f to
da3f2ac
Compare
Renovate dependency bump review — looks clean ✅Reviewed per Digest verificationEvery pinned digest resolves to the tag it claims (checked against Docker Hub):
The three Dockerfiles now all pin the same frontend digest, so Upstream changes in the bumped ranges
Blast radius is also limited: Other checks
|
da3f2ac to
b8c9f33
Compare
|
Renovate dependency bump review — clean ✅ Reviewed all four Dockerfile changes against upstream release notes and registry state. No findings. Digest verification Every pinned digest matches what the corresponding tag currently resolves to on Docker Hub:
Regression check per bump docker/dockerfile 1.25 → 1.26 (release) — single release in the range, one entry: "Fix incorrect warning when matching dockerignore patterns to cargo-chef digest → v0.1.78 (release, 2026-08-12) — "toml v1.1 support" plus OCI annotations. Rust toolchain stays pinned at 1.97.1, so no compiler change for node:24-alpine → 24.19.0 (release) — Active LTS minor. Additive only (new stream/dgram/crypto APIs, TLS options, perf-hooks sampling) plus bundled npm/SQLite/zlib updates. Nothing deprecated or removed that the Next.js standalone build ( mysql 9.7.1 → 9.7.2 (release notes) — patch release. Scanned specifically for binlog/GTID/row-image changes since PeerDB's MySQL CDC reads the binlog; everything found is a fix, not a behavior change:
No changes to Also worth noting Other checks
🤖 Generated with Claude Code |
b8c9f33 to
adbc4f4
Compare
|
Reviewed this Renovate bump per Digest verification All pins resolve to the current manifest-list digest for their tag on Docker Hub:
Grep confirms these are the only Upstream release notes for the bumped ranges
The
Other checks
|
adbc4f4 to
0694e06
Compare
Renovate dependency review — reviewed, looks clean ✅Reviewed per Digest verificationEvery pinned digest in this PR resolves to the current upstream tag on Docker Hub (checked against the registry today):
Upstream release notes for the bumped range
Nothing changed in binlog format, row image, GTID, or the client/server protocol, so there's no impact on the MySQL CDC connector. A couple of fixes are mildly favourable for replication (self-referencing-FK delete no longer breaks replication; Scope note: Other checks
|
🔄 Flaky Test DetectedAnalysis: A single e2e test, TestGenericCH_PG/Test_Custom_Replication_Slot_Starting_With_Numbers_CDC_Only, hit its 180s wait-for-row-count timeout on the pg18/ch-latest matrix leg while passing on pg16 and pg17 in the same run, on a Renovate PR that only bumps Dockerfile dependencies — a timing flake rather than a real regression. ✅ Automatically retrying the workflow |
0694e06 to
05c3f82
Compare
|
Renovate bump review — clean ✅ Reviewed all four bumps against upstream release notes and commit logs per
Everything else in the range ( Note that
9.7.2 (2026-07-28) is the quarterly LTS patch. Checked specifically against Two items worth being aware of but non-blocking: EL7 packaging support was dropped (irrelevant to the container), and
Renovate classifies this as digest-only because the tag is floating, but it is really 24.18.0 → 24.19.0, and it crosses 24.18.1 — a security release fixing 11 CVEs (3 high: Digest verification All pinned digests resolve to the current head of their tags:
Other review criteria No new stdout/stderr/log output and no secrets or PII introduced — the diff is four pinned image references. The
|
🔄 Flaky Test DetectedAnalysis: Not caused by the PR: only the ch-latest matrix leg failed, where all 151 *_CH_Cluster subtests hung in STATUS_SETUP until the 20m package timeout, while the identical code passed on ch-lts and ch-stable — an environment/upstream floating-tag ClickHouse cluster failure, though the uniform 100% failure rate means it may not self-heal on rerun. ✅ Automatically retrying the workflow |
05c3f82 to
09f0de1
Compare
|
Renovate bump review — clean ✅ Reviewed all 4 changed lines in Digest verification All four pins were checked against Docker Hub and resolve correctly:
Upstream review of the bumped ranges
Other checks
|
09f0de1 to
f13bbc8
Compare
Dependency bump review — clean ✅Reviewed per Digest verification All four pins resolve to the tags they claim (checked against Docker Hub):
Side benefit: before this PR Upstream release notes / commit log
The only notable change called out upstream is "Fix incorrect warning when matching dockerignore patterns to Worth noting explicitly, since it looks alarming in the v0.32.x log:
Patch release, mostly replication-applier and JSON fixes. I checked specifically for anything that could affect our MySQL CDC (binlog reader, GTID): nothing changes binlog event format or GTID semantics. The one replication fix that touches row events (Bug #120128 — Also:
Other checks
|
f13bbc8 to
91c7e59
Compare
|
🤖 Automated dependency review Reviewed per Digest verification All four pins were resolved against Docker Hub and match what the diff claims:
Upstream release notes — regression check
The only frontend-visible change is a bug fix: "Fix incorrect warning when matching dockerignore patterns to
Patch release, bug fixes only. Nothing touches the options in
Same tag, rebuilt 2026-08-03 — routine Node 24 LTS patch plus Alpine base security updates. No major-version movement, so Secrets / PII (REVIEW.md rule 1) No new logging, stdout/stderr output, or credential handling introduced. The Non-blocking nit, pre-existing: |
🔄 Flaky Test DetectedAnalysis: Timing-dependent duplicate emission in the brand-new TestCockroachDBSuite/Test_CDC_Exactly_Once_Across_Batches — the connector deliberately emits buffered records past the checkpoint when resolved timestamps stall beyond IdleTimeout+2s (cdc.go:489), which a loaded CI runner easily triggers; the other two CockroachDB matrix legs passed on identical code and the PR is a Renovate Dockerfile bump touching no Go code. ✅ Automatically retrying the workflow |
91c7e59 to
0068d0f
Compare
|
Renovate dependency bump review — no findings Reviewed per Digest verification (all confirmed against Docker Hub)
Regression assessment
The
The rest of the range is buildkitd-side (solver/exporter/executor) and does not ship with the frontend image — notably No open buildkit issues report a 1.26 frontend regression. The features these Dockerfiles rely on —
Maintenance release: X Plugin and Clone plugin fixes, optimizer fixes (
Notes (non-blocking, pre-existing)
Verdict: clean, safe to merge once CI is green. |
🔄 Flaky Test DetectedAnalysis: All four failures are BigQuery normalize ✅ Automatically retrying the workflow |
🔄 Flaky Test DetectedAnalysis: A Renovate Dockerfile-only PR failed with a rotating subset of BigQuery e2e tests hitting 180s "UNEXPECTED TIMEOUT" waiting for normalization (different tests on attempt 1 vs attempt 2, and the same tests passed in a parallel matrix leg on the same commit), indicating transient BigQuery/runner contention rather than a real bug. ✅ Automatically retrying the workflow |
This PR contains the following updates:
1.25→1.2687999aa→ecfaec99.7.1→9.7.2a0b9bf0→d32cdf6Configuration
📅 Schedule: (in timezone Etc/UTC)
🚦 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.
This PR was generated by Mend Renovate. View the repository job log.