Skip to content

Conversation

@vdiez
Copy link
Contributor

@vdiez vdiez commented Nov 7, 2025

JS-941

Summary

Fix the "without node" jobs to properly disable ALL Node.js binaries, ensuring EmbeddedNode.java deploys the embedded Node.js runtime.

Problem

The "without node" jobs were not showing "Deployed node version" in their logs, meaning they were using host Node.js instead of the embedded version.

The previous remove_node_from_path step only disabled the first node binary found by which, but runners can have multiple node binaries:

  • mise-installed node at /home/runner/.local/share/mise/installs/node/22.11.0/bin/node
  • System node at /usr/bin/node or elsewhere

After disabling the first one, which node would find another, so SonarJS still detected node and didn't deploy the embedded version.

Changes

  • Loop through ALL node binaries in PATH and disable each one
  • Verify node is no longer accessible after the loop completes
  • Fail the job if node is still accessible

Expected Result

After this fix, the "without node" jobs should show "Deployed node version" messages in their logs, confirming that EmbeddedNode.java is deploying the embedded Node.js runtime.

Test plan

  • Verify "Deployed node version" appears in logs for all "without node" jobs:
    • QA without Node on Ubuntu SQ:DEV
    • QA without Node on Ubuntu SQ:LATEST_RELEASE
    • Fast QA without Node on Ubuntu SQ:LATEST_RELEASE
    • Fast QA without Node on Alpine SQ:LATEST_RELEASE
    • QA without Node on Alpine SQ:LATEST_RELEASE
    • Fast QA without Node on Ubuntu SQ:DEV

🤖 Generated with Claude Code

The previous approach only disabled the first node binary found by `which`,
but runners can have multiple node binaries (mise + system). This caused
EmbeddedNode.java to still detect node and not deploy the embedded version.

Changes:
- Loop through ALL node binaries in PATH and disable each one
- Verify node is no longer accessible after disabling
- Fail the job if node is still found

This ensures "Deployed node version" message appears in without node jobs.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <[email protected]>
@hashicorp-vault-sonar-prod hashicorp-vault-sonar-prod bot changed the title Fix: Disable all Node.js binaries in "without node" jobs JS-941 Fix: Disable all Node.js binaries in "without node" jobs Nov 7, 2025
vdiez and others added 2 commits November 7, 2025 16:54
Alpine QA jobs were failing because they were running Alpine artifacts
(linux-x64-musl with Alpine Node.js binaries) on Ubuntu runners where
the Alpine binaries don't work.

Changes:
- Split Alpine jobs out from Ubuntu matrix jobs
- Use sonar-m-sidecar runner for Alpine jobs (supports Docker containers)
- Run Alpine jobs in alpine:latest container
- Remove node disabling step from Alpine jobs (not needed in fresh containers)

New Alpine-specific jobs:
- plugin_qa_without_node_alpine
- plugin_qa_fast_without_node_alpine

This allows testing Alpine artifacts in actual Alpine environments where
the embedded Alpine Node.js binaries will work correctly.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <[email protected]>
@sonarqube-next
Copy link

sonarqube-next bot commented Nov 7, 2025

Quality Gate passed Quality Gate passed

Issues
0 New issues
0 Fixed issues
0 Accepted issues

Measures
0 Security Hotspots
0 Dependency risks
No data about Coverage
No data about Duplication

See analysis details on SonarQube

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.

1 participant