aws / aws-toolkit-azure-devops

AWS Toolkit for Azure DevOps
Other
235 stars 100 forks source link

Does node16 need to be added "Node runner update guidance for Azure Pipelines task authors"? #548

Open hansterwal opened 3 months ago

hansterwal commented 3 months ago

Hi,

First of this is more of a question than a bug.

Our concern is that tasks will start to fail when the support for the node10 runner is dropped as with the node 6 runner prior which was fixed with version 1.1.3.0 . Microsoft released the following call to action last year:

To ensure tasks that use a Node runner remain working on the Azure Pipelines agent, task authors need to update Node dependent tasks to use the Node 16 runner.

As Microsoft Hosted agents and various Azure DevOps Server versions have different lifecycles, there can be different Node runner versions installed depending on where a task is running. To be able to run the same task on agents with different Node runner versions, task.json can contain multiple execution sections:

Copy

"execution": {
"Node10": {
"target": "bash.js",
"argumentFormat": ""
},
"Node16": {
"target": "bash.js",
"argumentFormat": ""
}

In the above example, Azure Pipeline agents which include the Node 16 runner will choose it by default, and those which don’t will fall back to the Node 10 implementation."

Reference to call to action

Is this something to be worried about?

yaunj commented 2 months ago

Just had this issue with the azure-pipelines-agent v3.238.0 (which is the latest version per now).

[error]This step requires a node version that does not exist in the agent filesystem. Path: /opt/azure-pipelines-agent/externals/node10/bin/node

The failing task was AWSShellScript@1, but I assume all tasks will be affected. You'll probably need to add in Node16 like suggested, and update all tasks like you did in #454.

yaunj commented 2 months ago

I did some more checking, and for now, node10 is only removed from the "Alternate Agent Downloads" release for 3.238.0 (pipelines-agent, not vsts-agent), so currently it's only affecting users who chose the pipelines agent over the vsts agent to avoid running node6.

rbbarad commented 1 month ago

@hansterwal @yaunj thanks for bringing this to our attention. I'm taking a look into this + #551. Will update with more details as they come.

yaunj commented 1 day ago

Any update on this @rbbarad?