From 29440eda41ab86e37da1c46124fdf2579dc7ca62 Mon Sep 17 00:00:00 2001 From: Xinyuan Lin Date: Fri, 1 May 2026 23:55:36 -0700 Subject: [PATCH 1/4] chore(deps): upgrade frontend Node engine to 24 Bump the frontend Node engine from 20.x to 24.x ahead of the Node 20 end-of-life window. Updates the package engines field, the CI matrix, the @types/node devDependency, the docker build stage that compiles the frontend bundle, and the Node references in AGENTS.md. Also fixes a stale literal `18` in the frontend job-name format string in build.yml that no longer matched the matrix. Closes #4657 --- .github/workflows/build.yml | 4 ++-- AGENTS.md | 4 ++-- bin/texera-web-application.dockerfile | 2 +- frontend/package.json | 4 ++-- frontend/yarn.lock | 20 ++++++++++---------- 5 files changed, 17 insertions(+), 17 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 81bcffab634..5cdc296ab4b 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -59,7 +59,7 @@ env: jobs: frontend: if: ${{ inputs.run_frontend }} - name: ${{ format('frontend{0} ({1}, 18)', inputs.job_name_suffix, matrix.os) }} + name: ${{ format('frontend{0} ({1}, 24)', inputs.job_name_suffix, matrix.os) }} runs-on: ${{ matrix.os }} strategy: matrix: @@ -72,7 +72,7 @@ jobs: - os: windows-latest arch: x64 node-version: - - 20.19.0 + - 24.10.0 steps: - name: Checkout Texera uses: actions/checkout@v5 diff --git a/AGENTS.md b/AGENTS.md index 70e31175d35..360f99224b9 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -17,7 +17,7 @@ Major areas: - `config-service/`, `access-control-service/`, `file-service/`, `computing-unit-managing-service/`, `workflow-compiling-service/`: backend services wired through `build.sbt`. -- `frontend/`: Angular application. Uses Yarn 4.14.1, Node >= 20.19.0, Nx, +- `frontend/`: Angular application. Uses Yarn 4.14.1, Node >= 24.0.0, Nx, Prettier, ESLint, Karma/Jasmine, and ng-zorro. - `agent-service/`: TypeScript Elysia service for Texera LLM agents. CI uses Bun 1.3.3. @@ -113,7 +113,7 @@ outside CI. The Angular frontend lives in `frontend/`. -- Node engine: `>=20.19.0`. +- Node engine: `>=24.0.0`. - Package manager: Yarn 4.14.1 via Corepack. - Formatting is Prettier plus prettier-eslint. Prettier uses 2 spaces, semicolons, double quotes, `printWidth: 120`, and LF endings. diff --git a/bin/texera-web-application.dockerfile b/bin/texera-web-application.dockerfile index 1caff2dad4b..724e4aa5ea4 100644 --- a/bin/texera-web-application.dockerfile +++ b/bin/texera-web-application.dockerfile @@ -15,7 +15,7 @@ # specific language governing permissions and limitations # under the License. -FROM node:22-bookworm AS build-frontend +FROM node:24-bookworm AS build-frontend RUN apt-get update && apt-get install -y --no-install-recommends \ python3 build-essential git ca-certificates diff --git a/frontend/package.json b/frontend/package.json index c9330e88d99..9407f6282eb 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -2,7 +2,7 @@ "name": "gui", "version": "0.0.0", "engines": { - "node": ">=20.19.0" + "node": ">=24.0.0" }, "license": "Apache-2.0", "scripts": { @@ -113,7 +113,7 @@ "@types/karma-coverage": "^2", "@types/lodash": "4.14.179", "@types/lodash-es": "4.17.4", - "@types/node": "20.19.39", + "@types/node": "24.10.1", "@types/papaparse": "5.3.5", "@types/plotly.js-basic-dist-min": "2.12.4", "@types/quill": "2.0.9", diff --git a/frontend/yarn.lock b/frontend/yarn.lock index 74a3634a132..e7769419e9f 100644 --- a/frontend/yarn.lock +++ b/frontend/yarn.lock @@ -6144,12 +6144,12 @@ __metadata: languageName: node linkType: hard -"@types/node@npm:20.19.39": - version: 20.19.39 - resolution: "@types/node@npm:20.19.39" +"@types/node@npm:24.10.1": + version: 24.10.1 + resolution: "@types/node@npm:24.10.1" dependencies: - undici-types: "npm:~6.21.0" - checksum: 10c0/1d16da7b5f47a7415b827fcf3b94d279febf4c14671afec74a03e47856b5270023d9beb1b9aeab4d3b622fd97d61a60206cfc2cca588663181331bc592468289 + undici-types: "npm:~7.16.0" + checksum: 10c0/d6bca7a78f550fbb376f236f92b405d676003a8a09a1b411f55920ef34286ee3ee51f566203920e835478784df52662b5b2af89159d9d319352e9ea21801c002 languageName: node linkType: hard @@ -10813,7 +10813,7 @@ __metadata: "@types/karma-coverage": "npm:^2" "@types/lodash": "npm:4.14.179" "@types/lodash-es": "npm:4.17.4" - "@types/node": "npm:20.19.39" + "@types/node": "npm:24.10.1" "@types/papaparse": "npm:5.3.5" "@types/plotly.js-basic-dist-min": "npm:2.12.4" "@types/quill": "npm:2.0.9" @@ -17376,10 +17376,10 @@ __metadata: languageName: node linkType: hard -"undici-types@npm:~6.21.0": - version: 6.21.0 - resolution: "undici-types@npm:6.21.0" - checksum: 10c0/c01ed51829b10aa72fc3ce64b747f8e74ae9b60eafa19a7b46ef624403508a54c526ffab06a14a26b3120d055e1104d7abe7c9017e83ced038ea5cf52f8d5e04 +"undici-types@npm:~7.16.0": + version: 7.16.0 + resolution: "undici-types@npm:7.16.0" + checksum: 10c0/3033e2f2b5c9f1504bdc5934646cb54e37ecaca0f9249c983f7b1fc2e87c6d18399ebb05dc7fd5419e02b2e915f734d872a65da2e3eeed1813951c427d33cc9a languageName: node linkType: hard From 09181becee76f1840d38d6fbc6160973a0316eda Mon Sep 17 00:00:00 2001 From: Xinyuan Lin Date: Sat, 2 May 2026 00:04:44 -0700 Subject: [PATCH 2/4] fix fmt --- .github/workflows/build.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 5cdc296ab4b..669f22c80a8 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -59,7 +59,6 @@ env: jobs: frontend: if: ${{ inputs.run_frontend }} - name: ${{ format('frontend{0} ({1}, 24)', inputs.job_name_suffix, matrix.os) }} runs-on: ${{ matrix.os }} strategy: matrix: @@ -122,7 +121,6 @@ jobs: scala: if: ${{ inputs.run_scala }} - name: ${{ format('scala{0} ({1}, 11)', inputs.job_name_suffix, matrix.os) }} strategy: matrix: os: [ubuntu-22.04] @@ -253,7 +251,6 @@ jobs: python: if: ${{ inputs.run_python }} - name: ${{ format('python{0} ({1}, {2})', inputs.job_name_suffix, matrix.os, matrix.python-version) }} strategy: matrix: os: [ubuntu-latest] From 603f396c36d4976b132d7da9e1a6f3f7ee361325 Mon Sep 17 00:00:00 2001 From: Xinyuan Lin Date: Sat, 2 May 2026 21:34:05 -0700 Subject: [PATCH 3/4] Simplify amber build job name in workflow Remove dynamic job name formatting for amber build. Signed-off-by: Xinyuan Lin --- .github/workflows/build.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 05337b38e6f..c8e0c23e5b2 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -131,7 +131,6 @@ jobs: # and tests for the platform services live in the `platform` matrix # below. License-binary checks are scoped to the amber dist. if: ${{ inputs.run_amber }} - name: ${{ format('amber{0} ({1}, 11)', inputs.job_name_suffix, matrix.os) }} strategy: matrix: os: [ubuntu-22.04] From e87c355bd8515f2f92e42a5c1377a40b597ee6cb Mon Sep 17 00:00:00 2001 From: Xinyuan Lin Date: Sat, 2 May 2026 21:34:32 -0700 Subject: [PATCH 4/4] Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> Signed-off-by: Xinyuan Lin --- AGENTS.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index 360f99224b9..adf05218ce7 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -17,8 +17,10 @@ Major areas: - `config-service/`, `access-control-service/`, `file-service/`, `computing-unit-managing-service/`, `workflow-compiling-service/`: backend services wired through `build.sbt`. -- `frontend/`: Angular application. Uses Yarn 4.14.1, Node >= 24.0.0, Nx, - Prettier, ESLint, Karma/Jasmine, and ng-zorro. +- `frontend/`: Angular application. Uses Yarn 4.14.1 via Corepack for local + development, Node >= 24.0.0, Nx, Prettier, ESLint, Karma/Jasmine, and + ng-zorro. Note: `bin/texera-web-application.dockerfile` currently pins + Yarn 4.5.1 in its frontend build stage. - `agent-service/`: TypeScript Elysia service for Texera LLM agents. CI uses Bun 1.3.3. - `pyright-language-service/`: TypeScript service for Python language support.