Skip to content

Conversation

@surajitshil-03
Copy link
Contributor

@surajitshil-03 surajitshil-03 commented Dec 4, 2025

Context

Adding Node 24 support to the new file ContainerOperationProviderEnhanced.cs created in PR #5313. This enhancement mirrors the Node 24 fallback implementation from ContainerOperationProvider.cs to ensure both container operation providers support the latest Node.js runtime with graceful degradation.

Related work-item: AB#2339436


Description

This PR adds Node 24 support to ContainerOperationProviderEnhanced.cs with an automatic fallback chain (Node 24 → Node 20 → Node 16) for container job startup. The implementation includes:

  • Node 24 detection and startup command generation
  • Context-aware warning/error messages that reflect which Node versions were attempted
  • Enhanced debug logging to trace Node version selection
  • Telemetry for Node fallback scenarios
  • Consistent implementation matching

Risk Assessment (Low / Medium / High)

Low


Unit Tests Added or Updated (Yes / No)

No


Additional Testing Performed

Manual testing performed.
image

https://dev.azure.com/surajitshil/Node-24-upgrade/_build/results?buildId=665&view=results
https://dev.azure.com/surajitshil/Node-24-upgrade/_build/results?buildId=691&view=results


Change Behind Feature Flag (Yes / No)

Yes

Knob Name: UseNode24ToStartContainer


Tech Design / Approach

To provide consistent functionality to both the Container files for node24 changes.


Documentation Changes Required (Yes/No)

No


Logging Added/Updated (Yes/No)

Yes

✅ Added debug log: "Using Node 24 for container startup."
✅ Added context-aware warning: "Cannot run Node 24 in container. Falling back to Node 20 for container startup."
✅ Added context-aware warning: "Cannot run Node 24 and Node 20 in container. Falling back to Node 16 for container startup."
✅ Added context-aware error: "Cannot run Node 24, Node 20, and Node 16 in container. Container startup failed."


Telemetry Added/Updated (Yes/No)

No


Rollback Scenario and Process (Yes/No)

Yes

Rollback Plan:

  • Pipeline-level Rollback: Disable DistributedTask.Agent.UseNode24ToStartContainer feature flag in Azure DevOps

Dependency Impact Assessed and Regression Tested (Yes/No)

NA

@surajitshil-03 surajitshil-03 added internal misc Miscellaneous Changes labels Dec 4, 2025
@surajitshil-03 surajitshil-03 marked this pull request as ready for review December 4, 2025 10:17
@surajitshil-03 surajitshil-03 requested review from a team as code owners December 4, 2025 10:17
@surajitshil-03
Copy link
Contributor Author

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@surajitshil-03
Copy link
Contributor Author

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@surajitshil-03
Copy link
Contributor Author

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@surajitshil-03
Copy link
Contributor Author

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@surajitshil-03
Copy link
Contributor Author

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@surajitshil-03
Copy link
Contributor Author

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@surajitshil-03
Copy link
Contributor Author

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@surajitshil-03
Copy link
Contributor Author

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@surajitshil-03 surajitshil-03 merged commit 23826db into master Dec 4, 2025
14 checks passed
@surajitshil-03 surajitshil-03 deleted the users/surajitshil/Node24ChangesInContainerOperationProviderEnhanced branch December 4, 2025 14:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants