Skip to content

fix(nodejs): upgrade Bun to 1.4.0 - #7615

Open
bm1549 wants to merge 2 commits into
mainfrom
brian.marks/upgrade-bun-streaming-fix
Open

fix(nodejs): upgrade Bun to 1.4.0#7615
bm1549 wants to merge 2 commits into
mainfrom
brian.marks/upgrade-bun-streaming-fix

Conversation

@bm1549

@bm1549 bm1549 commented Aug 29, 2026

Copy link
Copy Markdown
Contributor

Motivation

Bun 1.3.13 can reject a valid streamed tarball when the first HTTP body chunk is too small. That can break dependency installation while building the Next.js weblog. Bun 1.4.0 includes oven-sh/bun#34861, which fixes the stream handling.

Changes

  • Upgrade every Node.js Bun image pin from 1.3.13 to 1.4.0.
  • Move the affected prebuilt base images and their consumers from base-v3 to base-v4.
  • Add the five base-v4 images to mirror_images.yaml.

Tested with:

  • ./build.sh nodejs -w nextjs
  • Next.js production build using Bun 1.4.0
  • mypy, Ruff, yamlfmt, yamllint, parser checks, and AI Guard

Before merge, R&P needs to publish the five base-v4 images and regenerate mirror_images.lock.yaml from their public digests.

Workflow

  1. ⚠️ Create your PR as draft ⚠️
  2. Work on you PR until the CI passes
  3. Mark it as ready for review
    • Test logic is modified? -> Get a review from RFC owner.
    • Framework is modified, or non obvious usage of it -> get a review from R&P team

🚀 Once your PR is reviewed and the CI green, you can merge it!

🛟 #apm-shared-testing 🛟

Reviewer checklist

  • Anything but tests/ or manifests/ is modified ? I have the approval from R&P team
  • A docker base image is modified?
    • the relevant build-XXX-image label is present
  • A scenario is added, removed or renamed?

@bm1549 bm1549 added build-nodejs-base-images ai-generated The pull request includes a significant amount of AI-generated code labels Aug 29, 2026
@github-actions

github-actions Bot commented Aug 29, 2026

Copy link
Copy Markdown
Contributor

CODEOWNERS have been resolved as:

mirror_images.yaml                                                      @DataDog/system-tests-core
utils/build/docker/nodejs/anthropic-js.Dockerfile                       @DataDog/system-tests-reviewers
utils/build/docker/nodejs/docker-bake.hcl                               @DataDog/system-tests-reviewers
utils/build/docker/nodejs/express4-typescript.Dockerfile                @DataDog/system-tests-reviewers
utils/build/docker/nodejs/express4-typescript.base.Dockerfile           @DataDog/system-tests-reviewers
utils/build/docker/nodejs/express4.Dockerfile                           @DataDog/system-tests-reviewers
utils/build/docker/nodejs/express4.base.Dockerfile                      @DataDog/system-tests-reviewers
utils/build/docker/nodejs/express5.Dockerfile                           @DataDog/system-tests-reviewers
utils/build/docker/nodejs/express5.base.Dockerfile                      @DataDog/system-tests-reviewers
utils/build/docker/nodejs/fastify.Dockerfile                            @DataDog/system-tests-reviewers
utils/build/docker/nodejs/fastify.base.Dockerfile                       @DataDog/system-tests-reviewers
utils/build/docker/nodejs/google_genai-js.Dockerfile                    @DataDog/system-tests-reviewers
utils/build/docker/nodejs/nextjs.Dockerfile                             @DataDog/system-tests-reviewers
utils/build/docker/nodejs/nextjs.base.Dockerfile                        @DataDog/system-tests-reviewers
utils/build/docker/nodejs/openai-js.Dockerfile                          @DataDog/system-tests-reviewers
utils/build/docker/nodejs/parametric/Dockerfile                         @DataDog/system-tests-reviewers
utils/build/docker/nodejs/uds-express4.Dockerfile                       @DataDog/system-tests-reviewers

@datadog-datadog-prod-us1-2

datadog-datadog-prod-us1-2 Bot commented Aug 29, 2026

Copy link
Copy Markdown

Tests

🎉 All green!

🧪 All tests passed
❄️ No new flaky tests detected

This comment will be updated automatically if new data arrives.
🔗 Commit SHA: be5f9f7 | Docs | View more details | Give us feedback!

Keep only the mirror_images.yaml regeneration and Bun/base-v4 image
changes; drop the header-preservation logic and its coverage as
out of scope for this fix.
@bm1549
bm1549 marked this pull request as ready for review September 1, 2026 20:43
@bm1549
bm1549 requested review from a team as code owners September 1, 2026 20:43
@bm1549
bm1549 requested review from ajgajg1134 and removed request for a team September 1, 2026 20:43
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 1, 2026

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review Completed 2026-09-01T20:47:17.508763Z be5f9f7 Draft marked ready
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: be5f9f7809

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread mirror_images.yaml
- "datadog/system-tests:express4-typescript.base-v1"
- "datadog/system-tests:express4-typescript.base-v2"
- "datadog/system-tests:express4-typescript.base-v3"
- "datadog/system-tests:express4-typescript.base-v4"

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 Badge Commit lock entries for the v4 base images

The five new base-v4 images are added only to mirror_images.yaml; mirror_images.lock.yaml still contains only their base-v3 entries. In the inspected .gitlab-ci.yml flow, the mirror_images job mirrors exclusively from the committed lock file (lines 441–443), so it will never populate these new bases before the dependent Node.js builds run with USE_IMAGE_MIRROR=1. Those builds can consequently bypass the intended internal mirror and fall through to unauthenticated Docker Hub pulls, which may fail under rate limiting. After publishing the v4 images, regenerate and commit the lock file as required by this file's header.

Useful? React with 👍 / 👎.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Silly codex, I already added this in the PR description!

Before merge, R&P needs to publish the five base-v4 images and regenerate mirror_images.lock.yaml from their public digests.

@ajgajg1134 ajgajg1134 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

seems like an appropriate and good change to me. Only thing is to make sure the images are published before merging as far as I can tell

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ai-generated The pull request includes a significant amount of AI-generated code build-nodejs-base-images

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants