Skip to content

ci: upgrade node version to 24#240

Merged
lizhengfeng101 merged 1 commit into
alibaba:mainfrom
stay-foolish-forever:ci/update-node-version-and-fix-bug
Jul 2, 2026
Merged

ci: upgrade node version to 24#240
lizhengfeng101 merged 1 commit into
alibaba:mainfrom
stay-foolish-forever:ci/update-node-version-and-fix-bug

Conversation

@stay-foolish-forever

Copy link
Copy Markdown
Contributor

Description

Type of Change

  • Bug fix (non-breaking change that fixes an issue)
  • New feature (non-breaking change that adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Refactoring (no functional changes)
  • Documentation update
  • CI / Build / Tooling

How Has This Been Tested?

  • make test passes locally
  • Manual testing (describe below)
    Manually testing local build and review actions using new version of node.

Checklist

  • My code follows the project's coding style (go fmt, go vet)
  • I have performed a self-review of my code
  • I have added tests that prove my fix is effective or my feature works
  • New and existing unit tests pass locally with my changes
  • I have updated the documentation accordingly (if applicable)
  • I have signed the CLA

Related Issues

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

🔍 OpenCodeReview found 3 issue(s) in this PR.

  • ✅ 3 posted as inline comment(s)
  • 📝 0 posted as summary

runs-on: self-hosted
container:
image: node:20
image: node:24

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.

Non-LTS Node.js version: Node.js 24 is a "Current" release, not an LTS version. For CI workflows, it's recommended to use an LTS release (e.g., Node 22, which is the active LTS) for better stability, longer support, and fewer breaking changes. Non-LTS versions have shorter support windows and may introduce unexpected issues.

Consider using node:22 instead, or if Node 24 features are specifically needed, pin to a specific minor/patch version (e.g., node:24.x.y) to avoid unexpected updates.

runs-on: self-hosted
container:
image: node:20
image: node:24

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.

Container image tag not fully pinned: Using node:24 (major version only) means the actual image can change when new minor/patch releases are published (e.g., 24.1 → 24.2), potentially causing non-reproducible builds or unexpected breakages. Consider pinning to at least a minor version (e.g., node:24.1) or a specific SHA digest for maximum reproducibility.

This applies to both the build and deploy jobs.

runs-on: self-hosted
container:
image: node:20
image: node:24

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.

Potential compatibility risk: This jumps directly from Node.js 20 to Node.js 24, skipping Node.js 22 (LTS). Since this is a release-critical job (npm-publish), consider first validating that all npm operations (npm publish, npm view, jq interactions) work correctly with Node.js 24's bundled npm version. Also consider using a more specific image tag (e.g., node:24.x.y) for reproducible builds in release workflows, rather than a floating major-version tag.

@lizhengfeng101 lizhengfeng101 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

LGTM

@lizhengfeng101 lizhengfeng101 merged commit 64e008f into alibaba:main Jul 2, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants