Sync eng/common directory with azure-sdk-tools for PR 2823 (#3387)

* allow version override. update proxy-docker so that logging will work properly
* update targeted tags to common dev versioning scheme
* change to target_version.txt instead of a variable in docker-start-proxy.ps1

Co-authored-by: scbedd <45376673+scbedd@users.noreply.github.com>
Co-authored-by: Ben Broderick Phillips <ben@benbp.net>
This commit is contained in:
Azure SDK Bot 2022-03-02 11:49:23 -08:00 committed by GitHub
parent 59e620318e
commit 0eb1660d8a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 36 additions and 9 deletions

View File

@ -13,6 +13,9 @@ Pass value "start" or "stop" to start up or stop the test-proxy instance.
.PARAMETER TargetFolder
The folder in which context the test proxy will be started. Defaults to current working directory.
.PARAMETER VersionOverride
This script defaults the proxy version to the "common" version synced across all sdk repositories. If provided,
this parameter's value will be used as the target tag when downloading the image from azsdk docker hosting.
#>
[CmdletBinding(SupportsShouldProcess = $true)]
param(
@ -20,7 +23,9 @@ param(
[String]
$Mode,
[String]
$TargetFolder = ""
$TargetFolder = "",
[String]
$VersionOverride = ""
)
try {
@ -31,11 +36,16 @@ catch {
Write-Error "Please check your docker invocation and try running the script again."
}
$SELECTED_IMAGE_TAG = "1369319"
$SELECTED_IMAGE_TAG = $(Get-Content "$PSScriptRoot/target_version.txt" -Raw).Trim()
$CONTAINER_NAME = "ambitious_azsdk_test_proxy"
$LINUX_IMAGE_SOURCE = "azsdkengsys.azurecr.io/engsys/testproxy-lin:${SELECTED_IMAGE_TAG}"
$WINDOWS_IMAGE_SOURCE = "azsdkengsys.azurecr.io/engsys/testproxy-win:${SELECTED_IMAGE_TAG}"
if($VersionOverride) {
Write-Host "Overriding default target proxy version of '$SELECTED_IMAGE_TAG' with override $VersionOverride."
$SELECTED_IMAGE_TAG = $VersionOverride
}
if (-not $TargetFolder){
$TargetFolder = Join-Path -Path $PSScriptRoot -ChildPath "../../../"
}
@ -51,7 +61,7 @@ function Get-Proxy-Container(){
$SelectedImage = $LINUX_IMAGE_SOURCE
$Initial = ""
$LinuxContainerArgs = "--add-host=host.docker.internal:host-gateway"
$AdditionalContainerArgs = "--add-host=host.docker.internal:host-gateway"
# most of the time, running this script on a windows machine will work just fine, as docker defaults to linux containers
# however, in CI, windows images default to _windows_ containers. We cannot swap them. We can tell if we're in a CI build by
@ -59,7 +69,13 @@ $LinuxContainerArgs = "--add-host=host.docker.internal:host-gateway"
if ($IsWindows -and $env:TF_BUILD){
$SelectedImage = $WINDOWS_IMAGE_SOURCE
$Initial = "C:"
$LinuxContainerArgs = ""
$AdditionalContainerArgs = ""
}
# there isn't really a great way to get environment variables automagically from the CI environment to the docker image
# handle loglevel here so that setting such a setting in CI will also bump the docker logging
if ($env:Logging__LogLevel__Default) {
$AdditionalContainerArgs += "-e Logging__LogLevel__Default=$($env:Logging__LogLevel__Default)"
}
if ($Mode -eq "start"){
@ -77,9 +93,9 @@ if ($Mode -eq "start"){
else {
$attempts = 0
Write-Host "Attempting creation of Docker host $CONTAINER_NAME"
Write-Host "docker container create -v `"${root}:${Initial}/srv/testproxy`" $LinuxContainerArgs -p 5001:5001 -p 5000:5000 --name $CONTAINER_NAME $SelectedImage"
Write-Host "docker container create -v `"${root}:${Initial}/srv/testproxy`" $AdditionalContainerArgs -p 5001:5001 -p 5000:5000 --name $CONTAINER_NAME $SelectedImage"
while($attempts -lt 3){
docker container create -v "${root}:${Initial}/srv/testproxy" $LinuxContainerArgs -p 5001:5001 -p 5000:5000 --name $CONTAINER_NAME $SelectedImage
docker container create -v "${root}:${Initial}/srv/testproxy" $AdditionalContainerArgs -p 5001:5001 -p 5000:5000 --name $CONTAINER_NAME $SelectedImage
if($LASTEXITCODE -ne 0){
$attempts += 1

View File

@ -0,0 +1 @@
1.0.0-dev.20220224.2

View File

@ -1,5 +1,6 @@
parameters:
rootFolder: '$(Build.SourcesDirectory)'
rootFolder: '$(Build.SourcesDirectory)'
targetVersion: ''
steps:
- pwsh: |
@ -11,7 +12,7 @@ steps:
displayName: 'Dump active docker information'
- pwsh: |
$(Build.SourcesDirectory)/eng/common/testproxy/docker-start-proxy.ps1 -Mode start -TargetFolder "${{ parameters.rootFolder }}"
$(Build.SourcesDirectory)/eng/common/testproxy/docker-start-proxy.ps1 -Mode start -TargetFolder "${{ parameters.rootFolder }}" -VersionOverride="${{ parameters.targetVersion }}"
displayName: 'Run the docker container'
- pwsh: |

View File

@ -1,6 +1,7 @@
parameters:
rootFolder: '$(Build.SourcesDirectory)'
runProxy: true
targetVersion: ''
steps:
- pwsh: |
@ -8,10 +9,18 @@ steps:
displayName: 'Language Specific Certificate Trust'
- pwsh: |
$version = $(Get-Content "$(Build.SourcesDirectory)/eng/common/testproxy/target_version.txt" -Raw).Trim()
$overrideVersion = "${{ parameters.targetVersion }}"
if($overrideVersion) {
Write-Host "Overriding default target proxy version of '$version' with override $overrideVersion."
$version = $overrideVersion
}
dotnet tool install azure.sdk.tools.testproxy `
--tool-path $(Build.BinariesDirectory)/test-proxy `
--add-source https://pkgs.dev.azure.com/azure-sdk/public/_packaging/azure-sdk-for-net/nuget/v3/index.json `
--version 1.0.0-dev.20220210.1
--version $version
displayName: "Install test-proxy"
- pwsh: |