Skip to content

[node] - Fix for missing library - #1769

Open
Kaniska (v-Kaniska244) wants to merge 1 commit into
devcontainers:mainfrom
v-Kaniska244:node-feature-test-fix
Open

Kaniska (v-Kaniska244) wants to merge 1 commit into
devcontainers:mainfrom
v-Kaniska244:node-feature-test-fix

Conversation

@v-Kaniska244

@v-Kaniska244 Kaniska (v-Kaniska244) commented Nov 6, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Fixes missing libatomic.so.1 runtime dependencies in the Node.js Feature, particularly when nodeGypDependencies is disabled.

This release also improves Yarn/Corepack compatibility for newer Node.js versions and makes the test suite resilient to changing LTS versions.

Changes

  • Install the required atomic runtime library on supported distributions:
    • Debian/Ubuntu: libatomic1
    • RHEL, Fedora, AlmaLinux, and Rocky Linux: libatomic
    • CBL-Mariner: libgcc-atomic
  • Ensure Node.js binaries run correctly even when native module build dependencies are not installed.
  • Add coverage for Node 24 with Corepack on Ubuntu 24.04 and Debian 13.
  • Support and test both Yarn installation paths:
    • Corepack-provided Yarn
    • Yarn Classic installed globally through npm when Corepack is unavailable
  • Add explicit Corepack availability checks and exact Yarn version assertions.
  • Verify npm and the atomic runtime package in relevant distribution tests.
  • Replace hard-coded Node.js LTS version assertions with comparisons against the version reported by nvm.
  • Document the runtime dependency and Yarn installation behavior.
  • Bump the Node.js Feature version from 2.1.1 to 2.1.2.

Testing

The following validation completed successfully:

  • Node.js scenario test matrix
  • Debian, Ubuntu, Fedora, RHEL-family, and base-image tests
  • Corepack and Yarn installation tests
  • Runtime library checks
  • ShellCheck
  • Feature validation
  • Change detection
  • CLA validation

Compatibility

This is a backwards-compatible fix. Existing Node.js, npm, pnpm, Yarn, nvm, and Feature options remain unchanged. The additional runtime packages are installed automatically where required.

Copilot AI 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.

🟢 Approval recommended

No active review issues are recorded for the Node.js runtime dependency update.

No open issues 🎉

What changed in this PR

Fixes missing Node.js runtime dependencies in the Node dev container feature, including when nodeGypDependencies is disabled.

Changes:

  • Installs the appropriate atomic runtime package on supported Linux distributions.
  • Expands runtime dependency and Corepack coverage, accommodates Yarn’s npm fallback, and makes LTS assertions dynamic.
  • Documents runtime dependencies and Yarn behavior, and bumps the feature version to 2.1.2.
File Description
test/​node/​ubuntu_yarn_from_corepack.sh Adds Ubuntu Corepack and Yarn checks.
test/​node/​scenarios.json Adds Node 24 Corepack scenarios and disables build dependencies in runtime checks.
test/​node/​install_node_debian_trixie.sh Checks libatomic and npm; handles both Yarn installation paths.
test/​node/​install_node_debian_bookworm.sh Handles Corepack and npm-installed Yarn.
test/​node/​install_additional_node.sh Compares the active Node version with nvm’s LTS version.
test/​node/​install_additional_node_on_rhel_family.sh Uses a dynamic LTS assertion on RHEL-family systems.
test/​node/​fedora.sh Adds libatomic and npm checks.
test/​node/​debian_yarn_from_corepack.sh Checks Corepack availability and exact Yarn version.
src/​node/​NOTES.md Documents the runtime dependency and Yarn installation behavior.
src/​node/​install.sh Installs distribution-specific atomic runtime packages.
src/​node/​devcontainer-feature.json Bumps the feature version to 2.1.2.

Review effort: Balanced

@v-Kaniska244
Kaniska (v-Kaniska244) marked this pull request as ready for review November 6, 2026 13:54
@v-Kaniska244
Kaniska (v-Kaniska244) requested a review from a team as a code owner November 6, 2026 13:54

This branch has not been deployed

No deployments
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.

3 participants