Skip to content

chore(deps): upgrade build tooling to Node 24#6073

Merged
kodiakhq[bot] merged 2 commits into
v2from
chore/node-24
Jun 23, 2026
Merged

chore(deps): upgrade build tooling to Node 24#6073
kodiakhq[bot] merged 2 commits into
v2from
chore/node-24

Conversation

@markphelps

Copy link
Copy Markdown
Collaborator

Why

Flipt v2 had Node version drift across its build tooling: local dev + CI lint/test jobs ran Node 20 (via the .mise.toml pin), while release and integration builds ran Node 22 (Dagger container images), and @types/node was still ^20. Node 20 is now past EOL. This PR converges everything on Node 24 (current Active LTS, supported to April 2028).

Node here is build-time only — production ships a single Go binary with the UI bundled as static assets, so there is no Node runtime to upgrade. This is purely build-tooling alignment.

Changes

  • .mise.toml: node = "20"node = "24" (drives local dev + CI lint/test via mise)
  • ui/Dockerfile: node:22-alpinenode:24-alpine
  • build/internal/ui.go: node:22-bullseye-slimnode:24-bullseye-slim (release build, both refs)
  • build/testing/ui.go: node:22-bullseye-slimnode:24-bullseye-slim (integration build)
  • ui/package.json: @types/node ^20.19.0^24.13.2 (lockfile regenerated — diff limited to @types/node + transitive undici-types)
  • AGENTS.md / ui/AGENTS.md: doc prose updated to Node 24

Verification

Local (Node 24.17.0):

  • npm ci · npm run lint · npm run test (26/26) · npm run build (tsc clean — no type errors from the @types/node major bump)
  • mise run build: produced bin/flipt with bundled UI assets; go mod tidy left a clean tree

Dagger on node:24-bullseye-slim:

  • dagger call test --source=. ui (integration UI build) ✔
  • dagger call build --source=. (release build) ✔

Converge all Node references on Node 24 (current Active LTS), eliminating
the prior drift where local dev + CI lint/test ran Node 20 while
release/integration builds ran Node 22. Node is build-time only here; the
server ships a Go binary with the UI bundled as static assets.

- .mise.toml: node 20 -> 24
- ui/Dockerfile: node:22-alpine -> node:24-alpine
- build/internal/ui.go, build/testing/ui.go: node:22 -> node:24 bullseye-slim
- ui/package.json: @types/node ^20 -> ^24 (lockfile regenerated)
- AGENTS.md, ui/AGENTS.md: doc prose updated

Signed-off-by: Mark Phelps <[email protected]>
@markphelps
markphelps requested a review from a team as a code owner June 23, 2026 01:25
@markphelps markphelps added the v2 Flipt v2 label Jun 23, 2026
@dosubot dosubot Bot added the size:S This PR changes 10-29 lines, ignoring generated files. label Jun 23, 2026

@github-actions github-actions Bot 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.

Verdict: approve

Build-tooling alignment PR with nothing new since the prior review — all Node version bumps are consistent and correct. No changes requested.

🤖 Automated review by the Flipt PR review agent.

@codecov

codecov Bot commented Jun 23, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 61.45%. Comparing base (d7c59f1) to head (63c1842).
⚠️ Report is 1 commits behind head on v2.

Additional details and impacted files
@@           Coverage Diff           @@
##               v2    #6073   +/-   ##
=======================================
  Coverage   61.45%   61.45%           
=======================================
  Files         142      142           
  Lines       14323    14323           
=======================================
  Hits         8802     8802           
  Misses       4783     4783           
  Partials      738      738           
Flag Coverage Δ
integrationtests 34.36% <ø> (ø)
unittests 52.57% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@erka erka 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.

nice

@erka erka added the automerge Used by Kodiak bot to automerge PRs label Jun 23, 2026
@kodiakhq
kodiakhq Bot merged commit eee7845 into v2 Jun 23, 2026
33 checks passed
@kodiakhq
kodiakhq Bot deleted the chore/node-24 branch June 23, 2026 12:45
@github-project-automation github-project-automation Bot moved this to Done in Flipt V2 Jun 23, 2026
markphelps added a commit that referenced this pull request Jun 24, 2026
* chore: add docs to gitignore

Signed-off-by: Mark Phelps <[email protected]>

* chore(deps): upgrade build tooling to Node 24

Flipt v1 had Node version drift across build tooling: local dev + CI
lint/test ran Node 20 (via the .mise.toml pin) and the Dagger release
build, while the UI dev Dockerfile was still on Node 18 and @types/node
was ^18. Node 18 and 20 are now past/nearing EOL. This converges
everything on Node 24 (current Active LTS, supported to April 2028),
mirroring the v2 branch upgrade in #6073.

Node here is build-time only — production ships a single Go binary with
the UI bundled as static assets, so there is no Node runtime to upgrade.
This is purely build-tooling alignment.

Changes:
- .mise.toml: node "20" -> "24" (local dev + CI lint/test via mise)
- build/internal/ui.go: node:20-bullseye-slim -> node:24-bullseye-slim
- ui/Dockerfile: node:18-alpine3.16 -> node:24-alpine
- ui/package.json: @types/node ^18.19.118 -> ^24.13.2 (lockfile
  regenerated — diff limited to @types/node + transitive undici-types)

Signed-off-by: Mark Phelps <[email protected]>

---------

Signed-off-by: Mark Phelps <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

automerge Used by Kodiak bot to automerge PRs size:S This PR changes 10-29 lines, ignoring generated files. v2 Flipt v2

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

2 participants