Node 24 migration for AppCenterDistributeV3#21972
Node 24 migration for AppCenterDistributeV3#21972yehor-obraztsov wants to merge 3 commits intomasterfrom
Conversation
|
Azure Pipelines: 3 pipeline(s) require an authorized user to comment /azp run to run. |
@microsoft-github-policy-service agree company="Microsoft" |
3 similar comments
@microsoft-github-policy-service agree company="Microsoft" |
@microsoft-github-policy-service agree company="Microsoft" |
@microsoft-github-policy-service agree company="Microsoft" |
/azp run |
|
Azure Pipelines: 3 pipeline(s) require an authorized user to comment /azp run to run. |
|
/azp run |
|
Azure Pipelines: Successfully started running 3 pipeline(s). |
|
Azure Pipelines: 3 pipeline(s) require an authorized user to comment /azp run to run. |
|
/azp run |
|
Azure Pipelines: Successfully started running 3 pipeline(s). |
|
Azure Pipelines: 3 pipeline(s) require an authorized user to comment /azp run to run. |
Context
Migrate AppCenterDistributeV3 task from Node.js 20 to Node.js 24 as part of the org-wide Node 24 migration effort.
Task Name
AppCenterDistributeV3
Description
Node24execution handler alongside existingNode20_1in task.jsontypescript^5.7.2,@types/node^24.10.0,azure-pipelines-task-lib^5.2.6ipv4first) and net (autoSelectFamily) workarounds for Node 24 compatibility (pattern from AzureCLIV1, DotNetCoreCLIV2)Node24_overwriteconfig in make-options.jsonNode24_overwritetoexcludedKeysinci/before-build-check-tasks.js— this config uses inplace mode (mergeToBase: true) and does not generate versionmap filesCI Pipelines:
Risk Assessment (Low / Medium / High)
Low — Standard Node 24 migration following established patterns. Node20_1 handler retained for backward compatibility. No functional logic changes. CI fix is minimal (one line, adding config name to exclusion list).
Change Behind Feature Flag (Yes / No)
No — Using
Node24_overwrite(inplace mode). The agent automatically selects the highest supported handler, so older agents will continue using Node20_1.Tech Design / Approach
node make.js build --task AppCenterDistributeV3 --configs Node24_overwrite --bumpBaseTaskNode24_overwriteusesmergeToBase: trueand does not produce_generated/*.versionmap.txt, so it must be excluded from versionmap validationDocumentation Changes Required (Yes/No)
No
Unit Tests Added or Updated (Yes / No)
No
Additional Testing Performed
node make.js build --task AppCenterDistributeV3 --configs Node24_overwrite --bumpBaseTask— successfulnode make.js test --task AppCenterDistributeV3— 30 passing, 1 flaky timeout (same failure on master branch)Logging Added/Updated (Yes/No)
Yes — Debug logging added for DNS and net workaround activation (via
tl.debug).Telemetry Added/Updated (Yes/No)
No — No new telemetry needed for a runtime migration.
Rollback Scenario and Process (Yes/No)
Yes — Task Override per TSG. Agent will fall back to Node20_1 handler if Node24 is unavailable.
Dependency Impact Assessed and Regression Tested (Yes/No)
Yes — All updated packages (
azure-pipelines-task-lib^5.2.6,typescript^5.7.2,@types/node^24.10.0) are the standard versions specified by BuildConfigGen Node24 overrides. No breaking API changes in task-lib 5.x for this task's usage.Checklist