diff --git a/common/tools/dev-tool/src/util/testProxyUtils.ts b/common/tools/dev-tool/src/util/testProxyUtils.ts index dfd6ffe93bc7..0f4bffc316e2 100644 --- a/common/tools/dev-tool/src/util/testProxyUtils.ts +++ b/common/tools/dev-tool/src/util/testProxyUtils.ts @@ -287,8 +287,7 @@ export async function isProxyToolActive(): Promise { } log.info( - `Proxy tool seems to be active at http://localhost:${ - process.env.TEST_PROXY_HTTP_PORT ?? 5000 + `Proxy tool seems to be active at http://localhost:${process.env.TEST_PROXY_HTTP_PORT ?? 5000 }\n`, ); return true; @@ -299,15 +298,30 @@ export async function isProxyToolActive(): Promise { async function getTargetVersion() { // Grab the tag from the `/eng/common/testproxy/target_version.txt` file [..is used to control the default version] + // + // In times of longer lived version override, the file eng/target_proxy_version.txt can be used to override this version + // in both CI and local development. // Example content: // // 1.0.0-dev.20220224.2 // (Bot regularly updates the tag in the file above.) try { - const contentInVersionFile = await fs.readFile( - `${path.join(await resolveRoot(), "eng/common/testproxy/target_version.txt")}`, - "utf-8", - ); + let contentInVersionFile: string; + const overrideFile = `${path.join(await resolveRoot(), "eng/target_proxy_version.txt")}`; + const overrideExists = await fs.exists(overrideFile); + + if (overrideExists) { + contentInVersionFile = await fs.readFile( + overrideFile, + "utf-8", + ); + } + else { + contentInVersionFile = await fs.readFile( + `${path.join(await resolveRoot(), "eng/common/testproxy/target_version.txt")}`, + "utf-8", + ); + } const tag = contentInVersionFile.trim(); diff --git a/eng/common/testproxy/test-proxy-docker.yml b/eng/common/testproxy/test-proxy-docker.yml deleted file mode 100644 index 307b5032a494..000000000000 --- a/eng/common/testproxy/test-proxy-docker.yml +++ /dev/null @@ -1,40 +0,0 @@ -parameters: - rootFolder: '$(Build.SourcesDirectory)' - targetVersion: '' - templateRoot: '$(Build.SourcesDirectory)' - condition: true - -steps: - - pwsh: | - ${{ parameters.templateRoot }}/eng/common/scripts/trust-proxy-certificate.ps1 - displayName: 'Language Specific Certificate Trust' - condition: and(succeeded(), ${{ parameters.condition }}) - - - task: PowerShell@2 - displayName: 'Override proxy version if necessary' - condition: and(succeeded(), ${{ parameters.condition }}, ne('${{ parameters.targetVersion }}', '')) - inputs: - targetType: filePath - filePath: '${{ parameters.templateRoot }}/eng/common/testproxy/scripts/override-proxy-version.ps1' - arguments: '-TargetVersion "${{ parameters.targetVersion }}"' - pwsh: true - - - pwsh: | - docker info - displayName: 'Dump active docker information' - condition: and(succeeded(), ${{ parameters.condition }}) - - - pwsh: | - ${{ parameters.templateRoot }}/eng/common/testproxy/docker-start-proxy.ps1 -Mode start -TargetFolder "${{ parameters.rootFolder }}" -VersionOverride="${{ parameters.targetVersion }}" - displayName: 'Run the docker container' - condition: and(succeeded(), ${{ parameters.condition }}) - - - pwsh: | - docker container ls -a - displayName: Check running container - condition: and(succeeded(), ${{ parameters.condition }}) - - - pwsh: | - Write-Host "##vso[task.setvariable variable=PROXY_MANUAL_START]true" - displayName: 'Set PROXY_MANUAL_START' - condition: and(succeeded(), ${{ parameters.condition }}) diff --git a/eng/common/testproxy/test-proxy-tool.yml b/eng/common/testproxy/test-proxy-tool.yml index d9a166841926..9494b1cf0bfb 100644 --- a/eng/common/testproxy/test-proxy-tool.yml +++ b/eng/common/testproxy/test-proxy-tool.yml @@ -22,7 +22,17 @@ steps: pwsh: true - pwsh: | - $version = $(Get-Content "${{ parameters.templateRoot }}/eng/common/testproxy/target_version.txt" -Raw).Trim() + $standardVersion = "${{ parameters.templateRoot }}/eng/common/testproxy/target_version.txt" + $overrideVersion = "${{ parameters.templateRoot }}/eng/target_proxy_version.txt" + + $version = $(Get-Content $standardVersion -Raw).Trim() + + if (Test-Path $overrideVersion) { + $version = $(Get-Content $overrideVersion -Raw).Trim() + } + + Write-Host "Installing test-proxy version $version" + 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 ` diff --git a/eng/target_proxy_version.txt b/eng/target_proxy_version.txt new file mode 100644 index 000000000000..1979eff49e7b --- /dev/null +++ b/eng/target_proxy_version.txt @@ -0,0 +1 @@ +1.0.0-dev.20240410.1