From cf54d7a0fe820ecf02da51ec0381e751084a2534 Mon Sep 17 00:00:00 2001 From: Blake Niemyjski Date: Wed, 11 Nov 2026 21:19:02 -0600 Subject: [PATCH] Upgrade Node.js from 24 to 26 --- .github/workflows/build.yaml | 10 +++++----- .github/workflows/copilot-setup-steps.yml | 2 +- .github/workflows/production-synthetic-monitoring.yml | 2 +- Dockerfile | 2 +- README.md | 2 +- tests/ci/README.md | 2 +- 6 files changed, 10 insertions(+), 10 deletions(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index eac99f7a37..fff372a86a 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -151,7 +151,7 @@ jobs: - name: Setup Node.js environment uses: actions/setup-node@v7 with: - node-version: 24 + node-version: 26 - name: Setup .NET Core uses: actions/setup-dotnet@v6 @@ -201,7 +201,7 @@ jobs: - name: Setup Node.js environment uses: actions/setup-node@v7 with: - node-version: 24 + node-version: 26 - name: Download .NET results uses: actions/download-artifact@v6 @@ -272,7 +272,7 @@ jobs: - name: Setup Node.js environment uses: actions/setup-node@v7 with: - node-version: 24 + node-version: 26 - name: Cache node_modules uses: actions/cache@v6 @@ -340,7 +340,7 @@ jobs: - name: Setup Node.js environment uses: actions/setup-node@v7 with: - node-version: 24 + node-version: 26 cache: npm cache-dependency-path: src/Exceptionless.Web/ClientApp/package-lock.json @@ -486,7 +486,7 @@ jobs: - name: Setup Node.js environment uses: actions/setup-node@v7 with: - node-version: 24 + node-version: 26 cache: npm cache-dependency-path: src/Exceptionless.Web/ClientApp/package-lock.json diff --git a/.github/workflows/copilot-setup-steps.yml b/.github/workflows/copilot-setup-steps.yml index 5634b5a32d..354d25acd0 100644 --- a/.github/workflows/copilot-setup-steps.yml +++ b/.github/workflows/copilot-setup-steps.yml @@ -51,7 +51,7 @@ jobs: - name: Setup Node.js environment uses: actions/setup-node@v7 with: - node-version: 24 + node-version: 26 - name: Cache node_modules uses: actions/cache@v6 diff --git a/.github/workflows/production-synthetic-monitoring.yml b/.github/workflows/production-synthetic-monitoring.yml index e5e232e204..9d7d886e01 100644 --- a/.github/workflows/production-synthetic-monitoring.yml +++ b/.github/workflows/production-synthetic-monitoring.yml @@ -28,7 +28,7 @@ jobs: - name: Setup Node.js environment uses: actions/setup-node@v7 with: - node-version: 24 + node-version: 26 - name: Install Npm Packages run: npm ci diff --git a/Dockerfile b/Dockerfile index 54a0746134..ea1ec60e86 100644 --- a/Dockerfile +++ b/Dockerfile @@ -21,7 +21,7 @@ RUN dotnet build ./src/Exceptionless.Web/Exceptionless.Web.csproj -c Release --n FROM build AS build-node RUN apt-get update -yq \ && apt-get install -yq curl ca-certificates \ - && curl -fsSL https://deb.nodesource.com/setup_24.x | bash - \ + && curl -fsSL https://deb.nodesource.com/setup_26.x | bash - \ && apt-get install -yq nodejs \ && rm -rf /var/lib/apt/lists/* diff --git a/README.md b/README.md index 35485632f9..57afbe85fe 100644 --- a/README.md +++ b/README.md @@ -31,7 +31,7 @@ _In appreciation for anyone who submits a non-trivial pull request, we will give Start here: 1. Read the [contributing document](https://github.com/exceptionless/Exceptionless/blob/main/CONTRIBUTING.md). -2. Install [Docker](https://www.docker.com/get-docker), [.NET 11.0](https://dotnet.microsoft.com/), and [Node 24+](https://nodejs.org/). +2. Install [Docker](https://www.docker.com/get-docker), [.NET 11.0](https://dotnet.microsoft.com/), and [Node 26+](https://nodejs.org/). 3. Run the app with one of these entry points: - Visual Studio Code: open the repo root and start the `Aspire` launch configuration. - Visual Studio: open `Exceptionless.slnx`, set `Exceptionless.AppHost` as the startup project, and run it. diff --git a/tests/ci/README.md b/tests/ci/README.md index 96f77dc2df..45c979a193 100644 --- a/tests/ci/README.md +++ b/tests/ci/README.md @@ -7,7 +7,7 @@ The normal build targets a roughly **10-minute critical path**. Track elapsed wo - Run `npm run lint:scripts` from `src/Exceptionless.Web/ClientApp` after installing its dependencies. This reuses the ClientApp ESLint configuration and runs as part of its existing lint command. - `.NET`: four isolated runners build the suite and discover tests through Microsoft Testing Platform's JSON discovery. `backend-shards.js` groups whole classes, then distributes the longest classes first using `backend-durations.json`. New classes are included automatically; stale timing entries cannot select or exclude tests. Each runner retains the existing six collection workers and coverage collection. -- CI tooling uses the project's Node.js runtime (Node 24 in CI), built-in modules, and `node:test`, with no additional packages. Backend summaries read xUnit's native CTRF JSON output; TRX reports remain available as artifacts. +- CI tooling uses the project's Node.js runtime (Node 26 in CI), built-in modules, and `node:test`, with no additional packages. Backend summaries read xUnit's native CTRF JSON output; TRX reports remain available as artifacts. - Frontend CI runs `build/update-config.test.mjs` against the real configuration writer and container entrypoints. Process stubs check configuration failures, argument preservation, and app process replacement without starting containers. CSP input cases use fast unit tests, with a representative HTTP response-header test covering integration. - Browser: six isolated Aspire applications run Playwright's native `--shard=N/6` with `fullyParallel` enabled for sharding. Each runner uses **one worker** because scenarios can change the shared administrator's preferences. This splits large spec files without introducing concurrent mutations of that user. Shard IDs are included in generated data names. - Frontend unit/component tests actually execute in `test-client`, with two Vitest workers to bound memory. Previously the workflow only echoed the command.