Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
version: [ 20, 22, 24, 25, 26 ]
version: [ 22, 24, 25, 26 ]
os: [ "ubuntu:24.04", "ubuntu:22.04", "debian:13", "debian:11" ]
container:
image: ${{ matrix.os }}
Expand Down Expand Up @@ -105,7 +105,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
version: [ 20, 22, 24, 25, 26 ]
version: [ 22, 24, 25, 26 ]
os: [ "fedora:41", "amazonlinux:2023", "rockylinux:9", "rockylinux:8", "redhat/ubi9:latest" ]
container:
image: ${{ matrix.os }}
Expand Down Expand Up @@ -197,7 +197,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
version: [ 20, 22, 24, 25, 26 ]
version: [ 22, 24, 25, 26 ]
os: [ "rockylinux:9-minimal", "rockylinux:8-minimal", "redhat/ubi9-minimal:latest" ]
container:
image: ${{ matrix.os }}
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/deprecated.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
version: [ 16, 18 ]
version: [ 16, 18, 20 ]
os: [ "ubuntu:20.04", "debian:10" ]
container:
image: ${{ matrix.os }}
Expand Down Expand Up @@ -53,7 +53,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
version: [ 16, 18 ]
version: [ 16, 18, 20 ]
os: [ "fedora:29", "amazonlinux:2023" ]
container:
image: ${{ matrix.os }}
Expand Down
10 changes: 5 additions & 5 deletions DEV_README.md
Original file line number Diff line number Diff line change
Expand Up @@ -253,7 +253,7 @@ apt install -y curl
```
</details>

**Node.js v20.x**:
**Node.js v20.x** (deprecated — end-of-life, no longer actively supported):

##### Using Ubuntu (Node.js 20)

Expand Down Expand Up @@ -359,7 +359,7 @@ apt install -y curl
```
</details>

**Node.js v18.x**:
**Node.js v18.x** (deprecated — end-of-life, no longer actively supported):

##### Using Ubuntu (Node.js 18)

Expand Down Expand Up @@ -840,7 +840,7 @@ yum install -y curl
node -v
```

**Node.js v20.x**
**Node.js v20.x** (deprecated — end-of-life, no longer actively supported)

##### As root (Node.js 20)

Expand Down Expand Up @@ -946,7 +946,7 @@ yum install -y curl
```
</details>

**Node.js v18.x**
**Node.js v18.x** (deprecated — end-of-life, no longer actively supported)

##### As root (Node.js 18)

Expand Down Expand Up @@ -1270,7 +1270,7 @@ _source: <https://nodejs.dev>_

Q: Are the scripts deprecated?

A: The scripts are deprecated for the versions of Node.js that are currently outdated. While the packages for these versions still exist, we no longer provide support for them. Our support is exclusively dedicated to the active Node.js versions, which, as of today, are 18, 20, and 21. Users utilizing these versions can confidently use our scripts, but we encourage those using older versions to upgrade for continued support and the best experience.
A: The scripts are deprecated for the versions of Node.js that are currently outdated. While the packages for these versions still exist, we no longer provide support for them. Our support is exclusively dedicated to the active Node.js versions, which, as of today, are 22, 24, 25, and 26. Users utilizing these versions can confidently use our scripts, but we encourage those using older versions to upgrade for continued support and the best experience.

---

Expand Down
10 changes: 5 additions & 5 deletions scripts/deb/script_generator/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@ This repository contains scripts for setting up different versions of Node.js on

## Modifying the Scripts

Each script in this repository sets up a specific version of Node.js. The version is specified in the line `NODE_VERSION="XX.x"` in each script. To modify the version, simply replace `"XX.x"` with the desired version, e.g., `"18.x"`.
Each script in this repository sets up a specific version of Node.js. The version is specified in the line `NODE_VERSION="XX.x"` in each script. To modify the version, simply replace `"XX.x"` with the desired version, e.g., `"24.x"`.

For example, to modify the `setup_18.x` script to install Node.js version 20.x instead, you would change the line to `NODE_VERSION="20.x"`.
For example, to modify the `setup_24.x` script to install Node.js version 26.x instead, you would change the line to `NODE_VERSION="26.x"`.

## Running the Scripts

Expand All @@ -16,7 +16,7 @@ To run a script, navigate to the directory containing the script and run the fol
sudo bash setup_XX.x
```

Replace `XX.x` with the version number of the script you want to run. For example, to run the `setup_18.x` script, you would use the command `sudo bash setup_18.x`.
Replace `XX.x` with the version number of the script you want to run. For example, to run the `setup_24.x` script, you would use the command `sudo bash setup_24.x`.

## How It Works

Expand All @@ -26,7 +26,7 @@ Each script in this repository performs the following steps:
2. Configures the NodeSource Node.js DEB repository for the specified version of Node.js.
3. Logs a message indicating that the repository is configured and updated, and instructs the user to run `apt install nodejs -y` to complete the installation.

The `setup_current` and `setup_latest` scripts are special scripts that install the current and latest versions of Node.js, respectively. The current version is 20.x and the latest version is 21.x.
The `setup_lts` and `setup_current` scripts are special scripts that install the LTS and current versions of Node.js, respectively. The LTS version is 24.x and the current version is 26.x.

## Updating the Scripts

Expand All @@ -36,7 +36,7 @@ If you make a change to the base script, you can regenerate all the version-spec
bash generator.sh
```

This script iterates over a list of versions (currently 18.x, 20.x, and 21.x), and creates a new script for each version with the updated base script. It also creates setup_current and setup_latest scripts for the current and latest versions of Node.js, respectively.
This script iterates over a list of versions (currently 22.x, 24.x, 25.x, and 26.x), and creates a new script for each version with the updated base script. It also creates setup_lts and setup_current scripts for the LTS and current versions of Node.js, respectively.

## Deploying the Scripts

Expand Down
2 changes: 1 addition & 1 deletion scripts/deb/script_generator/generator.sh
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ if [ ! -f "$base_script" ]; then
fi

# List of versions
versions=("20" "22" "24" "25" "26")
versions=("22" "24" "25" "26")

# Iterate over the versions and create scripts
for version in "${versions[@]}"; do
Expand Down
10 changes: 5 additions & 5 deletions scripts/rpm/script_generator/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@ This repository contains scripts for setting up different versions of Node.js on

## Modifying the Scripts

Each script in this repository sets up a specific version of Node.js. The version is specified in the line `NODE_VERSION="XX.x"` in each script. To modify the version, simply replace `"XX.x"` with the desired version, e.g., `"18.x"`.
Each script in this repository sets up a specific version of Node.js. The version is specified in the line `NODE_VERSION="XX.x"` in each script. To modify the version, simply replace `"XX.x"` with the desired version, e.g., `"24.x"`.

For example, to modify the `setup_18.x` script to install Node.js version 20.x instead, you would change the line to `NODE_VERSION="20.x"`.
For example, to modify the `setup_24.x` script to install Node.js version 26.x instead, you would change the line to `NODE_VERSION="26.x"`.

## Running the Scripts

Expand All @@ -16,7 +16,7 @@ To run a script, navigate to the directory containing the script and run the fol
sudo bash setup_XX.x
```

Replace `XX.x` with the version number of the script you want to run. For example, to run the `setup_18.x` script, you would use the command `sudo bash setup_18.x`.
Replace `XX.x` with the version number of the script you want to run. For example, to run the `setup_24.x` script, you would use the command `sudo bash setup_24.x`.

## How It Works

Expand All @@ -27,7 +27,7 @@ Each script in this repository performs the following steps:
3. Checks if `dnf`, `yum` or `microdnf` is available and updates the system using the available package manager.
4. Logs a message indicating that the repository is configured and updated, and instructs the user to run `dnf install nodejs -y`, `yum install nodejs -y` or `microdnf install nodejs -y` to complete the installation.

The `setup_current` and `setup_latest` scripts are special scripts that install the current and latest versions of Node.js, respectively. The current version is 20.x and the latest version is 21.x.
The `setup_lts` and `setup_current` scripts are special scripts that install the LTS and current versions of Node.js, respectively. The LTS version is 24.x and the current version is 26.x.

## Updating the Scripts

Expand All @@ -37,7 +37,7 @@ If you make a change to the base script, you can regenerate all the version-spec
bash generator.sh
```

This script iterates over a list of versions (currently 18.x, 20.x, and 21.x), and creates a new script for each version with the updated base script. It also creates setup_current and setup_latest scripts for the current and latest versions of Node.js, respectively.
This script iterates over a list of versions (currently 23.x, 24.x, 25.x, and 26.x), and creates a new script for each version with the updated base script. It also creates setup_lts and setup_current scripts for the LTS and current versions of Node.js, respectively.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

# List relevant files
ls -la scripts/rpm/script_generator/README.md .github/workflows/ci.yaml

# Show the README snippet around line 40
echo "=== README.md around line 35-50 ==="
nl -ba scripts/rpm/script_generator/README.md | sed -n '30,55p'

# Show CI workflow around the RPM matrix section (look for "rpm" and "matrix")
echo "=== ci.yaml around RPM matrix (searching) ==="
nl -ba .github/workflows/ci.yaml | sed -n '1,220p' | rg -n "rpm|RPM|setup_|matrix|versions|\[ *[0-9, ]+ *\]" || true

# More targeted: print the RPM job block if present
echo "=== ci.yaml: find lines containing 'rpm' and 'matrix' ==="
rg -n "rpm|RPM" .github/workflows/ci.yaml

echo "=== ci.yaml: find 'matrix' block near RPM ==="
rg -n "matrix" .github/workflows/ci.yaml

# Extract exact versions list for RPM if pattern exists
echo "=== ci.yaml: search for a versions array that includes 22/23 ==="
rg -n "\\[\\s*22\\s*,|\\[\\s*23\\s*,|22\\s*,\\s*24|versions" .github/workflows/ci.yaml || true

# Search RPM script generator code for version lists (22/23)
echo "=== Search rpm script generator code for 22/23 ==="
rg -n "23\\.|22\\.|\\b23\\b|\\b22\\b" scripts/rpm/script_generator || true

echo "=== Search entire rpm generator directory for 'versions' or 'NODE' ==="
rg -n "versions|NODE_VERSION|setup_" scripts/rpm/script_generator || true

# Identify generator source file(s)
echo "=== List scripts/rpm/script_generator directory ==="
find scripts/rpm/script_generator -maxdepth 2 -type f -print

Repository: nodesource/distributions

Length of output: 330


🏁 Script executed:

#!/bin/bash
set -euo pipefail

show_numbered() { awk '{printf "%d\t%s\n", NR, $0}' "$1"; }

echo "=== Files present ==="
ls -la .github/workflows/ci.yaml scripts/rpm/script_generator/README.md || true
echo

echo "=== README.md around lines 30-55 ==="
show_numbered scripts/rpm/script_generator/README.md | sed -n '30,55p'
echo

echo "=== ci.yaml: find RPM-related blocks ==="
rg -n "rpm|RPM|matrix|setup_" .github/workflows/ci.yaml || true
echo

echo "=== ci.yaml: print lines ~90-140 (likely around RPM job) ==="
show_numbered .github/workflows/ci.yaml | sed -n '90,160p'
echo

echo "=== ci.yaml: extract any 'versions' arrays containing 22 or 23 ==="
rg -n "\\bversions\\b|\\[\\s*22\\s*,|\\[\\s*23\\s*," .github/workflows/ci.yaml || true
echo

echo "=== List files under scripts/rpm/script_generator ==="
find scripts/rpm/script_generator -maxdepth 3 -type f -print
echo

echo "=== Search rpm generator directory for version lists (22/23/24/25/26) ==="
rg -n "\\b(22|23|24|25|26)(?:\\.|\\b)" scripts/rpm/script_generator || true
rg -n "versions|version|NODE_VERSION|setup_" scripts/rpm/script_generator || true

Repository: nodesource/distributions

Length of output: 13686


Align RPM Node version lists across generator and CI

scripts/rpm/script_generator/README.md (line 40) and scripts/rpm/script_generator/generator.sh generate setup_23.xsetup_26.x, but .github/workflows/ci.yaml RPM job tests matrix.version: [ 22, 24, 25, 26 ] (line 108). Update either the generator/README to use 22.x instead of 23.x, or adjust the RPM CI matrix to include 23.x so all three stay consistent.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@scripts/rpm/script_generator/README.md` at line 40, The Node.js version lists
are inconsistent between the generator and CI; update the generator to match CI
by changing occurrences of "23.x" to "22.x" in the generator artifacts: edit the
versions array/list in generator.sh (the variable that enumerates
23.x,24.x,25.x,26.x) and update the README sentence that describes the generated
scripts to say 22.x instead of 23.x; alternatively, if you prefer CI change,
update the RPM job matrix.version in ci.yaml to include 23 (so it becomes [22,
23, 24, 25, 26]) to match generator.sh and README.


## Deploying the Scripts

Expand Down
Loading