Skip to content

Commit

Permalink
Merge branch 'master' into users/ksanghavi/fix_async_dispose
Browse files Browse the repository at this point in the history
  • Loading branch information
KathanS authored Nov 22, 2024
2 parents 7baf5a6 + 7132612 commit bc3f02c
Show file tree
Hide file tree
Showing 16 changed files with 184 additions and 11 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 (ARM64)
- ${{ 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
5 changes: 5 additions & 0 deletions .vsts.ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,10 @@ parameters:
type: boolean
displayName: Windows (x86)
default: true
- name: win_arm64
type: boolean
displayName: Windows (ARM64)
default: true
- name: linux_x64
type: boolean
displayName: Linux (x64)
Expand Down Expand Up @@ -59,6 +63,7 @@ extends:
testProxyAgent: ${{ parameters.testProxyAgent }}
win_x64: ${{ parameters.win_x64 }}
win_x86: ${{ parameters.win_x86 }}
win_arm64: ${{ parameters.win_arm64 }}
linux_x64: ${{ parameters.linux_x64 }}
linux_arm: ${{ parameters.linux_arm }}
linux_arm64: ${{ parameters.linux_arm64 }}
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
14 changes: 14 additions & 0 deletions src/Agent.Worker/Worker.cs
Original file line number Diff line number Diff line change
Expand Up @@ -174,6 +174,20 @@ private void InitializeSecretMasker(Pipelines.AgentJobRequestMessage message)
var escapedSecret2 = variable.Value.Value.Replace("\r", "%0D")
.Replace("\n", "%0A");
AddUserSuppliedSecret(escapedSecret2);
// We need to mask the base 64 value of the secret as well
var base64Secret = Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes(variable.Value.Value));
// Add the base64 secret to the secret masker
AddUserSuppliedSecret(base64Secret);
// also, we escape some characters for variables when we print them out in debug mode. We need to
// add the escaped version of these secrets as well
var escapedSecret3 = base64Secret.Replace("%", "%AZP25")
.Replace("\r", "%0D")
.Replace("\n", "%0A");
AddUserSuppliedSecret(escapedSecret3);
// Since % escaping may be turned off, also mask a version escaped with just newlines
var escapedSecret4 = base64Secret.Replace("\r", "%0D")
.Replace("\n", "%0A");
AddUserSuppliedSecret(escapedSecret4);
}
}

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>
Loading

0 comments on commit bc3f02c

Please sign in to comment.