Skip to content

Commit

Permalink
[Agent] Support for Windows ARM 64 - AB#2143637 (#5021)
Browse files Browse the repository at this point in the history
* [Agent] Support for Windows ARM-64

* Fixed syntax error in dev.sh script

* Fixed syntax error in dev.sh script

* Added Arch Echo

* Added AMD64 Check

* Added win-arm64 to _VALID_RIDS

* Added win-arm64 to tool installer

* Fixed Dependencies

* Fixed Dependencies

* Fixed Externals.sh

* Fixed Externals.sh

* Fixed Build

* Fixed Externals.sh

* Fixed Build

* Fixed Build

* Fixed Build

* Fixed Build

* Fixed Build

* Install .NET for ARM for Unit Tests

* Revert: Install .NET for ARM for Unit Tests

* Disabled Unit and Functional Tests for Win ARM 64

* Formatting/Comment Corrections

* Corrected OS Arch Prop

* Corrected OS Arch Prop & Added Logs

* Corrected OS arch in Common.props

* retrigger checks
  • Loading branch information
AdityaMankal-MS authored Nov 19, 2024
1 parent bbd4855 commit 912662d
Show file tree
Hide file tree
Showing 13 changed files with 142 additions and 10 deletions.
2 changes: 1 addition & 1 deletion .azure-pipelines/build-job.yml
Original file line number Diff line number Diff line change
Expand Up @@ -149,7 +149,7 @@ jobs:
)
# 1ES images used on the ARM pool doesn't contain unzip tool, so we need to install it before starting the build
- ${{ if and(eq(parameters.arch, 'arm64'), ne(parameters.os, 'osx')) }}:
- ${{ if and(eq(parameters.arch, 'arm64'), ne(parameters.os, 'osx'), ne(parameters.os, 'win')) }}:
- script: sudo dnf -y update && sudo dnf -y install unzip
displayName: Install unzip
retryCountOnTaskFailure: 5
Expand Down
23 changes: 23 additions & 0 deletions .azure-pipelines/pipeline.yml
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,9 @@ parameters:
- name: win_x86
type: boolean
default: true
- name: win_arm64
type: boolean
default: true
- name: linux_x64
type: boolean
default: true
Expand Down Expand Up @@ -182,6 +185,26 @@ extends:
publishArtifacts: ${{ parameters.publishArtifacts }}
buildAlternatePackage: ${{ parameters.buildAlternatePackage }}
targetFramework: ${{ parameters.targetFramework }}

# Windows (ARM)
- ${{ if parameters.win_arm64 }}:
- template: /.azure-pipelines/build-jobs.yml@self
parameters:
jobName: build_windows_arm64
displayName: Windows (ARM64)
pool:
name: 1ES-ABTT-Shared-Pool
image: abtt-windows-2022
os: windows
os: win
arch: arm64
branch: ${{ parameters.branch }}
unitTests: false
functionalTests: false
sign: ${{ parameters.sign }}
publishArtifacts: ${{ parameters.publishArtifacts }}
buildAlternatePackage: ${{ parameters.buildAlternatePackage }}
targetFramework: ${{ parameters.targetFramework }}

# Linux (x64)
- ${{ if parameters.linux_x64 }}:
Expand Down
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,13 +20,15 @@ Written for .NET Core in C#.
|---|:-----:|
|![Win-x64](docs/res/win_med.png) **Windows x64**|[![Build & Test][win-x64-build-badge]][build]|
|![Win-x86](docs/res/win_med.png) **Windows x86**|[![Build & Test][win-x86-build-badge]][build]|
|![Win-arm64](docs/res/win_med.png) **Windows ARM64**|[![Build & Test][win-arm64-build-badge]][build]|
|![macOS](docs/res/apple_med.png) **macOS**|[![Build & Test][macOS-build-badge]][build]|
|![Linux-x64](docs/res/linux_med.png) **Linux x64**|[![Build & Test][linux-x64-build-badge]][build]|
|![Linux-arm](docs/res/linux_med.png) **Linux ARM**|[![Build & Test][linux-arm-build-badge]][build]|
|![RHEL6-x64](docs/res/redhat_med.png) **RHEL 6 x64**|[![Build & Test][rhel6-x64-build-badge]][build]|

[win-x64-build-badge]: https://mseng.visualstudio.com/pipelinetools/_apis/build/status/VSTS.Agent/azure-pipelines-agent.ci?branchName=master&jobname=Windows%20(x64)
[win-x86-build-badge]: https://mseng.visualstudio.com/pipelinetools/_apis/build/status/VSTS.Agent/azure-pipelines-agent.ci?branchName=master&jobname=Windows%20(x86)
[win-arm64-build-badge]: https://mseng.visualstudio.com/pipelinetools/_apis/build/status/VSTS.Agent/azure-pipelines-agent.ci?branchName=master&jobname=Windows%20(arm64)
[macOS-build-badge]: https://mseng.visualstudio.com/pipelinetools/_apis/build/status/VSTS.Agent/azure-pipelines-agent.ci?branchName=master&jobname=macOS%20(x64)
[linux-x64-build-badge]: https://mseng.visualstudio.com/pipelinetools/_apis/build/status/VSTS.Agent/azure-pipelines-agent.ci?branchName=master&jobname=Linux%20(x64)
[linux-arm-build-badge]: https://mseng.visualstudio.com/pipelinetools/_apis/build/status/VSTS.Agent/azure-pipelines-agent.ci?branchName=master&jobname=Linux%20(ARM)
Expand Down
12 changes: 12 additions & 0 deletions assets.json
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,18 @@
"version": "<AGENT_VERSION>",
"downloadUrl": "https://vstsagentpackage.azureedge.net/agent/<AGENT_VERSION>/pipelines-agent-win-x86-<AGENT_VERSION>.zip"
},
{
"name": "vsts-agent-win-arm64-<AGENT_VERSION>.zip",
"platform": "win-arm64",
"version": "<AGENT_VERSION>",
"downloadUrl": "https://vstsagentpackage.azureedge.net/agent/<AGENT_VERSION>/vsts-agent-win-arm64-<AGENT_VERSION>.zip"
},
{
"name": "pipelines-agent-win-arm64-<AGENT_VERSION>.zip",
"platform": "win-arm64",
"version": "<AGENT_VERSION>",
"downloadUrl": "https://vstsagentpackage.azureedge.net/agent/<AGENT_VERSION>/pipelines-agent-win-arm64-<AGENT_VERSION>.zip"
},
{
"name": "vsts-agent-osx-x64-<AGENT_VERSION>.tar.gz",
"platform": "osx-x64",
Expand Down
9 changes: 9 additions & 0 deletions releaseNote.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
| -------------- | ------- | ------- |
| Windows x64 | [vsts-agent-win-x64-<AGENT_VERSION>.zip](https://vstsagentpackage.azureedge.net/agent/<AGENT_VERSION>/vsts-agent-win-x64-<AGENT_VERSION>.zip) | <HASH> |
| Windows x86 | [vsts-agent-win-x86-<AGENT_VERSION>.zip](https://vstsagentpackage.azureedge.net/agent/<AGENT_VERSION>/vsts-agent-win-x86-<AGENT_VERSION>.zip) | <HASH> |
| Windows ARM64 | [vsts-agent-win-arm64-<AGENT_VERSION>.zip](https://vstsagentpackage.azureedge.net/agent/<AGENT_VERSION>/vsts-agent-win-arm64-<AGENT_VERSION>.zip) | <HASH> |
| macOS x64 | [vsts-agent-osx-x64-<AGENT_VERSION>.tar.gz](https://vstsagentpackage.azureedge.net/agent/<AGENT_VERSION>/vsts-agent-osx-x64-<AGENT_VERSION>.tar.gz) | <HASH> |
| macOS ARM64 | [vsts-agent-osx-arm64-<AGENT_VERSION>.tar.gz](https://vstsagentpackage.azureedge.net/agent/<AGENT_VERSION>/vsts-agent-osx-arm64-<AGENT_VERSION>.tar.gz) | <HASH> |
| Linux x64 | [vsts-agent-linux-x64-<AGENT_VERSION>.tar.gz](https://vstsagentpackage.azureedge.net/agent/<AGENT_VERSION>/vsts-agent-linux-x64-<AGENT_VERSION>.tar.gz) | <HASH> |
Expand All @@ -29,6 +30,13 @@ C:\> mkdir myagent && cd myagent
C:\myagent> Add-Type -AssemblyName System.IO.Compression.FileSystem ; [System.IO.Compression.ZipFile]::ExtractToDirectory("$HOME\Downloads\vsts-agent-win-x86-<AGENT_VERSION>.zip", "$PWD")
```

## Windows ARM64

``` bash
C:\> mkdir myagent && cd myagent
C:\myagent> Add-Type -AssemblyName System.IO.Compression.FileSystem ; [System.IO.Compression.ZipFile]::ExtractToDirectory("$HOME\Downloads\vsts-agent-win-arm64-<AGENT_VERSION>.zip", "$PWD")
```

## macOS x64

``` bash
Expand Down Expand Up @@ -91,6 +99,7 @@ See [notes](docs/node6.md) on Node version support for more details.
| ----------- | ------- | ------- |
| Windows x64 | [pipelines-agent-win-x64-<AGENT_VERSION>.zip](https://vstsagentpackage.azureedge.net/agent/<AGENT_VERSION>/pipelines-agent-win-x64-<AGENT_VERSION>.zip) | <HASH> |
| Windows x86 | [pipelines-agent-win-x86-<AGENT_VERSION>.zip](https://vstsagentpackage.azureedge.net/agent/<AGENT_VERSION>/pipelines-agent-win-x86-<AGENT_VERSION>.zip) | <HASH> |
| Windows ARM64 | [pipelines-agent-win-arm64-<AGENT_VERSION>.zip](https://vstsagentpackage.azureedge.net/agent/<AGENT_VERSION>/pipelines-agent-win-arm64-<AGENT_VERSION>.zip) | <HASH> |
| macOS x64 | [pipelines-agent-osx-x64-<AGENT_VERSION>.tar.gz](https://vstsagentpackage.azureedge.net/agent/<AGENT_VERSION>/pipelines-agent-osx-x64-<AGENT_VERSION>.tar.gz) | <HASH> |
| macOS ARM64 | [pipelines-agent-osx-arm64-<AGENT_VERSION>.tar.gz](https://vstsagentpackage.azureedge.net/agent/<AGENT_VERSION>/pipelines-agent-osx-arm64-<AGENT_VERSION>.tar.gz) | <HASH> |
| Linux x64 | [pipelines-agent-linux-x64-<AGENT_VERSION>.tar.gz](https://vstsagentpackage.azureedge.net/agent/<AGENT_VERSION>/pipelines-agent-linux-x64-<AGENT_VERSION>.tar.gz) | <HASH> |
Expand Down
10 changes: 9 additions & 1 deletion src/Common.props
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,13 @@
<PropertyGroup Condition="'$(OSPlatform)' == 'OS_WINDOWS' AND '$(PROCESSOR_ARCHITECTURE)' == 'X86'">
<OSArchitecture>X86</OSArchitecture>
</PropertyGroup>
<PropertyGroup Condition="'$(OSPlatform)' == 'OS_WINDOWS' AND '$(PROCESSOR_ARCHITECTURE)' == 'ARM64'">
<OSArchitecture>ARM64</OSArchitecture>
</PropertyGroup>
<PropertyGroup Condition="'$(OSPlatform)' == 'OS_WINDOWS' AND '$(PackageRuntime)' == 'win-arm64'">
<OSArchitecture>ARM64</OSArchitecture>
</PropertyGroup>
<!-- PROCESSOR_ARCHITECTURE does not always return ARM64 on all ARM-64 machines. So added a fallback condition to check the PackageRuntime variable -->

<PropertyGroup Condition="'$(OSPlatform)' == 'OS_OSX' AND '$(PackageRuntime)' == 'osx-x64'">
<OSArchitecture>X64</OSArchitecture>
Expand Down Expand Up @@ -65,7 +72,8 @@
<PropertyGroup Condition="'$(BuildingInsideVisualStudio)' == 'true'">
<RuntimeIdentifier Condition="'$(OSPlatform)' == 'OS_WINDOWS' And '$(OSArchitecture)' == 'X64'">win-x64</RuntimeIdentifier>
<RuntimeIdentifier Condition="'$(OSPlatform)' == 'OS_WINDOWS' And '$(OSArchitecture)' == 'X86'">win-x86</RuntimeIdentifier>
</PropertyGroup>
<RuntimeIdentifier Condition="'$(OSPlatform)' == 'OS_WINDOWS' And '$(OSArchitecture)' == 'ARM64'">win-arm64</RuntimeIdentifier>
</PropertyGroup>

<PropertyGroup>
<DefineConstants>$(OSPlatform);$(OSArchitecture);$(DebugConstant);TRACE</DefineConstants>
Expand Down
10 changes: 10 additions & 0 deletions src/Misc/InstallAgentPackage.template.xml
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,16 @@
<StepData>
<AddTaskPackageData packageType="pipelines-agent" platform="win-x86" hashValue="<HASH_VALUE>" version="<AGENT_VERSION>" downloadUrl="https://vstsagentpackage.azureedge.net/agent/<AGENT_VERSION>/pipelines-agent-win-x86-<AGENT_VERSION>.zip" infoUrl="https://go.microsoft.com/fwlink/?LinkId=798199" filename="pipelines-agent-win-x86-<AGENT_VERSION>.zip" />
</StepData>
</ServicingStep>
<ServicingStep name="Add ARM64 Windows agent package" stepPerformer="DistributedTask" stepType="AddTaskPackage">
<StepData>
<AddTaskPackageData packageType="agent" platform="win-arm64" hashValue="<HASH_VALUE>" version="<AGENT_VERSION>" downloadUrl="https://vstsagentpackage.azureedge.net/agent/<AGENT_VERSION>/vsts-agent-win-arm64-<AGENT_VERSION>.zip" infoUrl="https://go.microsoft.com/fwlink/?LinkId=798199" filename="vsts-agent-win-arm64-<AGENT_VERSION>.zip" />
</StepData>
</ServicingStep>
<ServicingStep name="Add ARM64 Windows alternate agent package" stepPerformer="DistributedTask" stepType="AddTaskPackage">
<StepData>
<AddTaskPackageData packageType="pipelines-agent" platform="win-arm64" hashValue="<HASH_VALUE>" version="<AGENT_VERSION>" downloadUrl="https://vstsagentpackage.azureedge.net/agent/<AGENT_VERSION>/pipelines-agent-win-arm64-<AGENT_VERSION>.zip" infoUrl="https://go.microsoft.com/fwlink/?LinkId=798199" filename="pipelines-agent-win-arm64-<AGENT_VERSION>.zip" />
</StepData>
</ServicingStep>
<ServicingStep name="Add arm64 osx agent package" stepPerformer="DistributedTask" stepType="AddTaskPackage">
<StepData>
Expand Down
4 changes: 4 additions & 0 deletions src/Misc/Publish.template.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@ if ($pwd -notlike '*tfsgheus20') {

Add-DistributedTaskPackage -PackageType agent -Platform win-x86 -Version <AGENT_VERSION> -DownloadUrl https://vstsagentpackage.azureedge.net/agent/<AGENT_VERSION>/vsts-agent-win-x86-<AGENT_VERSION>.zip -HashValue <HASH_VALUE> -InfoUrl https://go.microsoft.com/fwlink/?LinkId=798199 -Filename vsts-agent-win-x86-<AGENT_VERSION>.zip

Add-DistributedTaskPackage -PackageType agent -Platform win-arm64 -Version <AGENT_VERSION> -DownloadUrl https://vstsagentpackage.azureedge.net/agent/<AGENT_VERSION>/vsts-agent-win-arm64-<AGENT_VERSION>.zip -HashValue <HASH_VALUE> -InfoUrl https://go.microsoft.com/fwlink/?LinkId=798199 -Filename vsts-agent-win-arm64-<AGENT_VERSION>.zip

Add-DistributedTaskPackage -PackageType agent -Platform osx-x64 -Version <AGENT_VERSION> -DownloadUrl https://vstsagentpackage.azureedge.net/agent/<AGENT_VERSION>/vsts-agent-osx-x64-<AGENT_VERSION>.tar.gz -HashValue <HASH_VALUE> -InfoUrl https://go.microsoft.com/fwlink/?LinkId=798199 -Filename vsts-agent-osx-x64-<AGENT_VERSION>.tar.gz

Add-DistributedTaskPackage -PackageType agent -Platform linux-x64 -Version <AGENT_VERSION> -DownloadUrl https://vstsagentpackage.azureedge.net/agent/<AGENT_VERSION>/vsts-agent-linux-x64-<AGENT_VERSION>.tar.gz -HashValue <HASH_VALUE> -InfoUrl https://go.microsoft.com/fwlink/?LinkId=798199 -Filename vsts-agent-linux-x64-<AGENT_VERSION>.tar.gz
Expand All @@ -28,6 +30,8 @@ if ($pwd -notlike '*tfsgheus20') {

Add-DistributedTaskPackage -PackageType pipelines-agent -Platform win-x86 -Version <AGENT_VERSION> -DownloadUrl https://vstsagentpackage.azureedge.net/agent/<AGENT_VERSION>/pipelines-agent-win-x86-<AGENT_VERSION>.zip -HashValue <HASH_VALUE> -InfoUrl https://go.microsoft.com/fwlink/?LinkId=798199 -Filename pipelines-agent-win-x86-<AGENT_VERSION>.zip

Add-DistributedTaskPackage -PackageType pipelines-agent -Platform win-arm64 -Version <AGENT_VERSION> -DownloadUrl https://vstsagentpackage.azureedge.net/agent/<AGENT_VERSION>/pipelines-agent-win-arm64-<AGENT_VERSION>.zip -HashValue <HASH_VALUE> -InfoUrl https://go.microsoft.com/fwlink/?LinkId=798199 -Filename pipelines-agent-win-arm64-<AGENT_VERSION>.zip

Add-DistributedTaskPackage -PackageType pipelines-agent -Platform osx-x64 -Version <AGENT_VERSION> -DownloadUrl https://vstsagentpackage.azureedge.net/agent/<AGENT_VERSION>/pipelines-agent-osx-x64-<AGENT_VERSION>.tar.gz -HashValue <HASH_VALUE> -InfoUrl https://go.microsoft.com/fwlink/?LinkId=798199 -Filename pipelines-agent-osx-x64-<AGENT_VERSION>.tar.gz

Add-DistributedTaskPackage -PackageType pipelines-agent -Platform linux-x64 -Version <AGENT_VERSION> -DownloadUrl https://vstsagentpackage.azureedge.net/agent/<AGENT_VERSION>/pipelines-agent-linux-x64-<AGENT_VERSION>.tar.gz -HashValue <HASH_VALUE> -InfoUrl https://go.microsoft.com/fwlink/?LinkId=798199 -Filename pipelines-agent-linux-x64-<AGENT_VERSION>.tar.gz
Expand Down
10 changes: 10 additions & 0 deletions src/Misc/UpdateAgentPackage.template.xml
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,11 @@
<AddTaskPackageData packageType="agent" platform="win-x86" version="<AGENT_VERSION>" hashValue="<HASH_VALUE>" downloadUrl="https://vstsagentpackage.azureedge.net/agent/<AGENT_VERSION>/vsts-agent-win-x86-<AGENT_VERSION>.zip" infoUrl="https://go.microsoft.com/fwlink/?LinkId=798199" filename="vsts-agent-win-x86-<AGENT_VERSION>.zip" />
</StepData>
</ServicingStep>
<ServicingStep name="Add ARM64 Windows agent package" stepPerformer="DistributedTask" stepType="AddTaskPackage">
<StepData>
<AddTaskPackageData packageType="agent" platform="win-arm64" version="<AGENT_VERSION>" hashValue="<HASH_VALUE>" downloadUrl="https://vstsagentpackage.azureedge.net/agent/<AGENT_VERSION>/vsts-agent-win-arm64-<AGENT_VERSION>.zip" infoUrl="https://go.microsoft.com/fwlink/?LinkId=798199" filename="vsts-agent-win-arm64-<AGENT_VERSION>.zip" />
</StepData>
</ServicingStep>
<ServicingStep name="Add OSX agent package (without Node 6)" stepPerformer="DistributedTask" stepType="AddTaskPackage">
<StepData>
<AddTaskPackageData packageType="pipelines-agent" platform="osx-x64" version="<AGENT_VERSION>" hashValue="<HASH_VALUE>" downloadUrl="https://vstsagentpackage.azureedge.net/agent/<AGENT_VERSION>/pipelines-agent-osx-x64-<AGENT_VERSION>.tar.gz" infoUrl="https://go.microsoft.com/fwlink/?LinkId=798199" filename="pipelines-agent-osx-x64-<AGENT_VERSION>.tar.gz" />
Expand Down Expand Up @@ -77,5 +82,10 @@
<AddTaskPackageData packageType="pipelines-agent" platform="win-x86" version="<AGENT_VERSION>" hashValue="<HASH_VALUE>" downloadUrl="https://vstsagentpackage.azureedge.net/agent/<AGENT_VERSION>/pipelines-agent-win-x86-<AGENT_VERSION>.zip" infoUrl="https://go.microsoft.com/fwlink/?LinkId=798199" filename="pipelines-agent-win-x86-<AGENT_VERSION>.zip" />
</StepData>
</ServicingStep>
<ServicingStep name="Add ARM64 Windows agent package (without Node 6 and Node 10)" stepPerformer="DistributedTask" stepType="AddTaskPackage">
<StepData>
<AddTaskPackageData packageType="pipelines-agent" platform="win-arm64" version="<AGENT_VERSION>" hashValue="<HASH_VALUE>" downloadUrl="https://vstsagentpackage.azureedge.net/agent/<AGENT_VERSION>/pipelines-agent-win-arm64-<AGENT_VERSION>.zip" infoUrl="https://go.microsoft.com/fwlink/?LinkId=798199" filename="pipelines-agent-win-arm64-<AGENT_VERSION>.zip" />
</StepData>
</ServicingStep>
</Steps>
</ServicingStepGroup>
47 changes: 46 additions & 1 deletion src/Misc/externals.sh
Original file line number Diff line number Diff line change
Expand Up @@ -10,14 +10,22 @@ INCLUDE_NODE10=${INCLUDE_NODE10:-true}
CONTAINER_URL=https://vstsagenttools.blob.core.windows.net/tools

NODE_URL=https://nodejs.org/dist
NODE_UNOFFICIAL_URL=https://unofficial-builds.nodejs.org/download/release

if [[ "$PACKAGERUNTIME" == "linux-musl-x64" ]]; then
NODE_URL=https://unofficial-builds.nodejs.org/download/release
INCLUDE_NODE6=false
fi

if [[ "$PACKAGERUNTIME" == "win-arm64" ]]; then
INCLUDE_NODE6=false
INCLUDE_NODE10=false;
fi

NODE_VERSION="6.17.1"
NODE10_VERSION="10.24.1"
NODE16_VERSION="16.20.2"
NODE16_WIN_ARM64_VERSION="16.9.1"
NODE20_VERSION="20.17.0"
MINGIT_VERSION="2.47.0.2"
LFS_VERSION="3.4.0"
Expand Down Expand Up @@ -155,13 +163,14 @@ function acquireExternalTool() {
fi
}

echo "PACKAGE RUNTIME: $PACKAGERUNTIME"

if [[ "$PACKAGERUNTIME" == "win-x"* ]]; then
# Download external tools for Windows.

BIT="32"
if [[ "$PACKAGERUNTIME" == "win-x64" ]]; then
BIT="64"

acquireExternalTool "$CONTAINER_URL/azcopy/1/azcopy.zip" azcopy
acquireExternalTool "$CONTAINER_URL/vstshost/m122_887c6659_binding_redirect_patched/vstshost.zip" vstshost
acquireExternalTool "$CONTAINER_URL/vstsom/m153_47c0856d_adhoc/vstsom.zip" vstsom
Expand All @@ -187,6 +196,42 @@ if [[ "$PACKAGERUNTIME" == "win-x"* ]]; then
acquireExternalTool "${NODE_URL}/v${NODE16_VERSION}/${PACKAGERUNTIME}/node.lib" node16/bin
acquireExternalTool "${NODE_URL}/v${NODE20_VERSION}/${PACKAGERUNTIME}/node.exe" node20_1/bin
acquireExternalTool "${NODE_URL}/v${NODE20_VERSION}/${PACKAGERUNTIME}/node.lib" node20_1/bin
elif [[ "$PACKAGERUNTIME" == "win-arm64" || "$PACKAGERUNTIME" == "win-arm32" ]]; then
# Download external tools for Windows ARM

BIT="32"
if [[ "$PACKAGERUNTIME" == "win-arm64" ]]; then
BIT="64"

# acquireExternalTool "$CONTAINER_URL/azcopy/1/azcopy.zip" azcopy # Unavailable for Win ARM 64 - https://learn.microsoft.com/en-us/azure/storage/common/storage-use-azcopy-v10?tabs=dnf#download-the-azcopy-portable-binary
acquireExternalTool "$CONTAINER_URL/vstshost/m122_887c6659_binding_redirect_patched/vstshost.zip" vstshost # Custom package. Will the same work for Win ARM 64?
acquireExternalTool "$CONTAINER_URL/vstsom/m153_47c0856d_adhoc/vstsom.zip" vstsom # Custom package. Will the same work for Win ARM 64?
fi

acquireExternalTool "$CONTAINER_URL/mingit/${MINGIT_VERSION}/MinGit-${MINGIT_VERSION}-${BIT}-bit.zip" git # Unavailable for Win ARM 64 - https://github.com/git-for-windows/git/releases
acquireExternalTool "$CONTAINER_URL/git-lfs/${LFS_VERSION}/win-arm${BIT}/git-lfs.exe" "git/mingw${BIT}/bin"
acquireExternalTool "$CONTAINER_URL/pdbstr/win-arm${BIT}/1/pdbstr.zip" pdbstr
acquireExternalTool "$CONTAINER_URL/symstore/win-arm${BIT}/1/symstore.zip" symstore
acquireExternalTool "$CONTAINER_URL/vstsom/m153_47c0856d_adhoc/vstsom.zip" tf
acquireExternalTool "$CONTAINER_URL/vswhere/2_8_4/vswhere.zip" vswhere
acquireExternalTool "https://dist.nuget.org/win-x86-commandline/v3.4.4/nuget.exe" nuget

if [[ "$INCLUDE_NODE6" == "true" ]]; then
acquireExternalTool "${NODE_URL}/v${NODE_VERSION}/${PACKAGERUNTIME}/node.exe" node/bin # Not available for Windows ARM
acquireExternalTool "${NODE_URL}/v${NODE_VERSION}/${PACKAGERUNTIME}/node.lib" node/bin # Not available for Windows ARM
fi
if [[ "$INCLUDE_NODE10" == "true" ]]; then
acquireExternalTool "${NODE_URL}/v${NODE10_VERSION}/${PACKAGERUNTIME}/node.exe" node10/bin # Not available for Windows ARM
acquireExternalTool "${NODE_URL}/v${NODE10_VERSION}/${PACKAGERUNTIME}/node.lib" node10/bin # Not available for Windows ARM
fi

# Unofficial distribution of Node contains Node 16 for Windows ARM
acquireExternalTool "${NODE_UNOFFICIAL_URL}/v${NODE16_WIN_ARM64_VERSION}/${PACKAGERUNTIME}/node.exe" node16/bin
acquireExternalTool "${NODE_UNOFFICIAL_URL}/v${NODE16_WIN_ARM64_VERSION}/${PACKAGERUNTIME}/node.lib" node16/bin

# Official distribution of Node contains Node 20 for Windows ARM
acquireExternalTool "${NODE_URL}/v${NODE20_VERSION}/${PACKAGERUNTIME}/node.exe" node20_1/bin
acquireExternalTool "${NODE_URL}/v${NODE20_VERSION}/${PACKAGERUNTIME}/node.lib" node20_1/bin
else
# Download external tools for Linux and OSX.

Expand Down
1 change: 1 addition & 0 deletions src/Test/L0/ConstantGenerationL0.cs
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ public void BuildConstantGenerateSucceed()
{
"win-x64",
"win-x86",
"win-arm64",
"linux-x64",
"linux-arm",
"linux-arm64",
Expand Down
Loading

0 comments on commit 912662d

Please sign in to comment.