Skip to content

ci: drop EOL Node 20.x from CI matrix, add Node 24.x #49

Description

@pinecone-groundskeeper

Problem

.github/workflows/ci.yml's build-and-test job ran its matrix across Node [20.x, 22.x]. Node 20 ("Iron") reached end-of-life on 2026-03-24 and no longer receives security or bug fixes, so CI was validating the project against an unsupported runtime. The currently supported LTS lines are Node 22 ("Jod") and Node 24 ("Krypton", LTS as of 2026-07).

Solution

Changed the build-and-test matrix from [20.x, 22.x] to [22.x, 24.x]. Left the audit job's pinned node-version: 22.x as-is, per the issue's own call that this is a reviewer's choice and not required.

Verification

The sandbox's own Node runtime is 24.18.0, so I used it as a stand-in for the new matrix entry. npm ci failed on onnxruntime-node's postinstall script due to sandbox network restrictions (api.nuget.org unreachable) — unrelated to this change, since that dependency fetches a native binary at install time. Installing with --ignore-scripts let me verify the rest:

  • npm run lint — passes, no errors
  • npm run typecheck — passes, no errors
  • npm run format:check — passes, no diffs
  • npm test — 23/23 tests pass across all 5 files

None of the test suite or build tooling touches onnxruntime-node, so this is a reasonable proxy for how the 24.x matrix leg will behave in CI (which has full network access and won't hit the sandbox's restriction).

Follow-ups

Out of scope per the issue: no engines field was added to package.json, and no dependency versions were touched (actions/checkout/actions/setup-node pins are tracked separately in #33).

Closes #32

Generated by GitHub Maintenance Fixer · sonnet50 · 60.5 AIC · ⌖ 7.09 AIC · ⊞ 8.1K · ◷


Note

This was originally intended as a pull request, but the git push operation failed.

Original error: The process '/usr/bin/git' failed with exit code 128

Workflow Run: View run details and download bundle artifact

The bundle file is available in the agent artifact in the workflow run linked above.

To create a pull request with the changes:

# Download the artifact from the workflow run
gh run download 30815871677 -n agent -D /tmp/agent-30815871677

# Fetch the bundle into a temporary ref, then update the local branch
git fetch /tmp/agent-30815871677/aw-pinecone-io-recommender-example-typescript-agent-maintenance-issue-32.bundle refs/heads/agent/maintenance/issue-32:refs/bundles/create-pr-agent-maintenance-issue-32-2f322f5e23844fc8-d21ea4ef
git update-ref refs/heads/agent/maintenance/issue-32-2f322f5e23844fc8 refs/bundles/create-pr-agent-maintenance-issue-32-2f322f5e23844fc8-d21ea4ef
git checkout agent/maintenance/issue-32-2f322f5e23844fc8
# Ensure the working tree matches the updated branch
git reset --hard
# Remove the temporary bundle ref
git update-ref -d refs/bundles/create-pr-agent-maintenance-issue-32-2f322f5e23844fc8-d21ea4ef

# Push the branch to origin
git push origin agent/maintenance/issue-32-2f322f5e23844fc8

# Create the pull request
gh pr create --title 'ci: drop EOL Node 20.x from CI matrix, add Node 24.x' --base main --head agent/maintenance/issue-32-2f322f5e23844fc8 --repo pinecone-io/recommender-example-typescript

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    agent:maintenanceOpened/maintained by the maintenance agent; it recognizes its own work by this labelagentic-workflows

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions