Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement fallback detection of redirects for the new CDNs #554

Merged
merged 5 commits into from
Dec 22, 2024

Conversation

baronfel
Copy link
Member

@baronfel baronfel commented Dec 20, 2024

In preparation for new CDNs for .NET Builds, we are making the scripts resilient to CDN changes.

In the current default mode of execution, the scripts use the channel, quality, and other inputs to look up an aka.ms link that redirects to the current best-known version of the product that the user requested. For example, ./dotnet-install.sh --channel 9.0 --quality ga might use the url https://aka.ms/dotnet/9.0/dotnet-sdk-linux-x64.tar.gz when on an x64 Linux host to download the appropriate version of the SDK.

This url used to be accepted wholesale, but with the new CDN and incremental cleanup of various aka.ms links, we cannot rely on 100% data correctness. In order to buffer these changes, instead of directly using the aka.ms redirect, we'll instead use it to probe the set of known feeds and pick the one to use (if any) before falling back to our legacy lookup mechanism.

We'll derive the 'stem' - the portion of the redirect URL unique to the download - and apply that stem to each feed lookup in priority order. The first url that exists will be the one used for the remainder of the download session.

Powershell script dry-run for .NET 9 SDK installation
./dotnet-install.ps1 -Channel 9.0 -Quality ga -DryRun -Verbose
VERBOSE: dotnet-install: Note that the intended use of this script is for Continuous Integration (CI) scenarios, where:
VERBOSE: dotnet-install: - The SDK needs to be installed without user interaction and without admin rights.
VERBOSE: dotnet-install: - The SDK installation doesn't need to persist across multiple CI runs.
VERBOSE: dotnet-install: To set up a development environment or to run apps, use installers rather than this script. Visit https://dotnet.microsoft.com/download to get the installer.

VERBOSE: dotnet-install: Get-CLIArchitecture-From-Architecture -Architecture "<auto>"
VERBOSE: dotnet-install: Get-Machine-Architecture
VERBOSE: Perform operation 'Enumerate CimInstances' with following parameters, ''className' = CIM_OperatingSystem,'namespaceName' = root\cimv2'.
VERBOSE: Operation 'Enumerate CimInstances' complete.
VERBOSE: dotnet-install: Get-NormalizedQuality -Quality "ga"
VERBOSE: dotnet-install: Normalized quality: ''
VERBOSE: dotnet-install: Get-NormalizedChannel -Channel "9.0"
VERBOSE: dotnet-install: Normalized channel: '9.0'
VERBOSE: dotnet-install: Get-NormalizedProduct -Runtime ""
VERBOSE: dotnet-install: Normalized product: 'dotnet-sdk'
VERBOSE: dotnet-install: Action 'Product discovery' took 0.0689581 seconds
VERBOSE: dotnet-install: Resolve-Installation-Path -InstallDir "<auto>"
VERBOSE: dotnet-install: Get-User-Share-Path
VERBOSE: dotnet-install: InstallRoot: C:\Users\chusk\AppData\Local\Microsoft\dotnet
VERBOSE: Initialized feeds: https://builds.dotnet.microsoft.com/dotnet https://dotnetcli.azureedge.net/dotnet https://ci.dot.net/public https://dotnetbuilds.azureedge.net/public
VERBOSE: dotnet-install: Get-AkaMSDownloadLink -Channel "9.0" -Quality "" -Internal "False" -Product "dotnet-sdk" -Architecture "x64"
VERBOSE: dotnet-install: Retrieving primary payload URL from aka.ms link for channel: '9.0', quality: '' product: 'dotnet-sdk', os: 'win', architecture: 'x64'.
VERBOSE: dotnet-install: Constructed aka.ms link: 'https://aka.ms/dotnet/9.0/dotnet-sdk-win-x64.zip'.
VERBOSE: dotnet-install: Received response:
StatusCode: 301, ReasonPhrase: 'Moved Permanently', Version: 1.1, Content: System.Net.Http.HttpConnectionResponseContent, Headers:
{
  Server: Kestrel
  Location: https://dotnetcli.azureedge.net/dotnet/Sdk/9.0.101/dotnet-sdk-9.0.101-win-x64.zip
  Request-Context: appId=cid-v1:b47e5e27-bf85-45ba-a97c-0377ce0e5779
  X-Response-Cache-Status: True
  Cache-Control: max-age=0, no-cache, no-store
  Pragma: no-cache
  Date: Fri, 20 Dec 2024 22:44:11 GMT
  Connection: keep-alive
  Strict-Transport-Security: max-age=31536000 ; includeSubDomains
  Content-Length: 0
  Expires: Fri, 20 Dec 2024 22:44:11 GMT
}
VERBOSE: Checking configured feeds for the asset at Sdk/9.0.101/dotnet-sdk-9.0.101-win-x64.zip
VERBOSE: Checking https://builds.dotnet.microsoft.com/dotnet/Sdk/9.0.101/dotnet-sdk-9.0.101-win-x64.zip
VERBOSE: Requested HTTP/1.1 HEAD with 0-byte payload
VERBOSE: Failed to check https://builds.dotnet.microsoft.com/dotnet/Sdk/9.0.101/dotnet-sdk-9.0.101-win-x64.zip
VERBOSE: Checking https://dotnetcli.azureedge.net/dotnet/Sdk/9.0.101/dotnet-sdk-9.0.101-win-x64.zip
VERBOSE: Requested HTTP/1.1 HEAD with 0-byte payload
VERBOSE: Received HTTP/1.1 293042093-byte response of content type application/octet-stream
VERBOSE: Found a match at https://dotnetcli.azureedge.net/dotnet/Sdk/9.0.101/dotnet-sdk-9.0.101-win-x64.zip
VERBOSE: dotnet-install: The redirect location retrieved: 'https://dotnetcli.azureedge.net/dotnet/Sdk/9.0.101/dotnet-sdk-9.0.101-win-x64.zip'.
VERBOSE: dotnet-install: Received response:
StatusCode: 200, ReasonPhrase: 'OK', Version: 1.1, Content: System.Net.Http.HttpConnectionResponseContent, Headers:
{
  Accept-Ranges: bytes
  Age: 94465
  Date: Fri, 20 Dec 2024 22:44:12 GMT
  ETag: 0x8DD13C4375A70B6
  Server: ECAcc (dac/9C73)
  X-Cache: HIT
  x-ms-blob-type: BlockBlob
  x-ms-lease-status: unlocked
  x-ms-request-id: 69f672e3-101e-007e-0254-52f527000000
  x-ms-version: 2009-09-19
  Content-Type: application/octet-stream
  Last-Modified: Tue, 03 Dec 2024 17:59:21 GMT
  Content-Length: 293042093
}
VERBOSE: dotnet-install: Retrieved primary named payload URL from aka.ms link: 'https://dotnetcli.azureedge.net/dotnet/Sdk/9.0.101/dotnet-sdk-9.0.101-win-x64.zip'.
VERBOSE: dotnet-install: Downloading using legacy url will not be attempted.
VERBOSE: dotnet-install: Version: '9.0.101'.
VERBOSE: dotnet-install: Get-Product-Version -SpecificVersion "9.0.101" -PackageDownloadLink "https://dotnetcli.azureedge.net/dotnet/Sdk/9.0.101/dotnet-sdk-9.0.101-win-x64.zip"
VERBOSE: dotnet-install: Get-Product-Version-Url -Flattened "True" -AzureFeed "" -SpecificVersion "9.0.101" -PackageDownloadLink "https://dotnetcli.azureedge.net/dotnet/Sdk/9.0.101/dotnet-sdk-9.0.101-win-x64.zip"
VERBOSE: dotnet-install: Constructed productVersion link: https://dotnetcli.azureedge.net/dotnet/Sdk/9.0.101/sdk-productVersion.txt
VERBOSE: dotnet-install: Get-Product-Version-Url -Flattened "False" -AzureFeed "" -SpecificVersion "9.0.101" -PackageDownloadLink "https://dotnetcli.azureedge.net/dotnet/Sdk/9.0.101/dotnet-sdk-9.0.101-win-x64.zip"
VERBOSE: dotnet-install: Constructed productVersion link: https://dotnetcli.azureedge.net/dotnet/Sdk/9.0.101/productVersion.txt
VERBOSE: dotnet-install: Checking for the existence of https://dotnetcli.azureedge.net/dotnet/Sdk/9.0.101/sdk-productVersion.txt
VERBOSE: dotnet-install: Product version: '9.0.101'.
VERBOSE: dotnet-install: Generated aka.ms link https://dotnetcli.azureedge.net/dotnet/Sdk/9.0.101/dotnet-sdk-9.0.101-win-x64.zip with version 9.0.101
dotnet-install: Payload URLs:
dotnet-install: URL #0 - aka.ms: https://dotnetcli.azureedge.net/dotnet/Sdk/9.0.101/dotnet-sdk-9.0.101-win-x64.zip
dotnet-install: Repeatable invocation: .\dotnet-install.ps1 -Version "9.0.101" -InstallDir "C:\Users\chusk\AppData\Local\Microsoft\dotnet" -Architecture "x64" -Verbose "True"
Bash script dry-run for .NET 9 SDK installation
./dotnet-install.sh --channel 9.0 --quality ga --dry-run --verbose
dotnet-install: Note that the intended use of this script is for Continuous Integration (CI) scenarios, where:
dotnet-install: - The SDK needs to be installed without user interaction and without admin rights.
dotnet-install: - The SDK installation doesn't need to persist across multiple CI runs.
dotnet-install: To set up a development environment or to run apps, use installers rather than this script. Visit https://dotnet.microsoft.com/download to get the installer.

dotnet-install: Calling: machine_has curl
dotnet-install: Calling: calculate_vars
dotnet-install: Calling: get_normalized_architecture_from_architecture <auto>
dotnet-install: Calling: get_machine_architecture
dotnet-install: Normalized architecture: 'x64'.
dotnet-install: Calling: get_normalized_os
dotnet-install: Calling: get_current_os_name
dotnet-install: Calling: get_linux_platform_name
dotnet-install: Normalized OS: 'linux'.
dotnet-install: Calling: get_normalized_quality ga
dotnet-install: Normalized quality: ''.
dotnet-install: Calling: get_normalized_channel 9.0
dotnet-install: Normalized channel: '9.0'.
dotnet-install: Calling: get_normalized_product
dotnet-install: Normalized product: 'dotnet-sdk'.
dotnet-install: Calling: resolve_installation_path <auto>
dotnet-install: Calling: get_user_install_path
dotnet-install: resolve_installation_path: user_install_path=/home/chethusk/.dotnet
dotnet-install: InstallRoot: '/home/chethusk/.dotnet'.
dotnet-install: Calling: get_normalized_architecture_for_specific_sdk_version Latest 9.0 x64
dotnet-install: Calling: get_current_os_name
dotnet-install: Calling: get_linux_platform_name
dotnet-install: Calling: get_download_link_from_aka_ms
dotnet-install: Retrieving primary payload URL from aka.ms for channel: '9.0', quality: '', product: 'dotnet-sdk', os: 'linux', architecture: 'x64'.
dotnet-install: Constructed aka.ms link: 'https://aka.ms/dotnet/9.0/dotnet-sdk-linux-x64.tar.gz'.
dotnet-install: Calling: get_http_header https://aka.ms/dotnet/9.0/dotnet-sdk-linux-x64.tar.gz true
dotnet-install: Calling: machine_has curl
dotnet-install: Calling: get_http_header_curl https://aka.ms/dotnet/9.0/dotnet-sdk-linux-x64.tar.gz true
dotnet-install: Received response: HTTP/1.1 301 Moved Permanently
Server: Kestrel
Location: https://dotnetcli.azureedge.net/dotnet/Sdk/9.0.101/dotnet-sdk-9.0.101-linux-x64.tar.gz
Request-Context: appId=cid-v1:d94c0f68-64bf-4036-8409-a0e761bb7ee1
X-Response-Cache-Status: True
Content-Length: 0
Expires: Fri, 20 Dec 2024 22:32:26 GMT
Cache-Control: max-age=0, no-cache, no-store
Pragma: no-cache
Date: Fri, 20 Dec 2024 22:32:26 GMT
Connection: keep-alive
Strict-Transport-Security: max-age=31536000 ; includeSubDomains

HTTP/2 200
accept-ranges: bytes
age: 99445
content-md5: CIgc/eLDVx/WFrmmkqQj+w==
content-type: application/octet-stream
date: Fri, 20 Dec 2024 22:32:26 GMT
etag: 0x8DD13C4389CAD29
last-modified: Tue, 03 Dec 2024 17:59:24 GMT
server: ECAcc (dac/9C4B)
x-cache: HIT
x-ms-blob-type: BlockBlob
x-ms-lease-status: unlocked
x-ms-request-id: 9e02f845-301e-0056-6647-52948f000000
x-ms-version: 2009-09-19
content-length: 210346874

dotnet-install: Calling: sanitize_redirect_url https://dotnetcli.azureedge.net/dotnet/Sdk/9.0.101/dotnet-sdk-9.0.101-linux-x64.tar.gz
dotnet-install: Checking configured feeds for the asset at Sdk/9.0.101/dotnet-sdk-9.0.101-linux-x64.tar.gz
dotnet-install: Checking https://builds.dotnet.microsoft.com/dotnet/Sdk/9.0.101/dotnet-sdk-9.0.101-linux-x64.tar.gz
dotnet-install: Calling: check_url_exists https://builds.dotnet.microsoft.com/dotnet/Sdk/9.0.101/dotnet-sdk-9.0.101-linux-x64.tar.gz
dotnet-install: Calling: machine_has curl
dotnet-install: No match at https://builds.dotnet.microsoft.com/dotnet/Sdk/9.0.101/dotnet-sdk-9.0.101-linux-x64.tar.gz
dotnet-install: Checking https://dotnetcli.azureedge.net/dotnet/Sdk/9.0.101/dotnet-sdk-9.0.101-linux-x64.tar.gz
dotnet-install: Calling: check_url_exists https://dotnetcli.azureedge.net/dotnet/Sdk/9.0.101/dotnet-sdk-9.0.101-linux-x64.tar.gz
dotnet-install: Calling: machine_has curl
dotnet-install: Found a match at https://dotnetcli.azureedge.net/dotnet/Sdk/9.0.101/dotnet-sdk-9.0.101-linux-x64.tar.gz
dotnet-install: The redirect location retrieved: 'https://dotnetcli.azureedge.net/dotnet/Sdk/9.0.101/dotnet-sdk-9.0.101-linux-x64.tar.gz'.
dotnet-install: Retrieved primary payload URL from aka.ms link: 'https://dotnetcli.azureedge.net/dotnet/Sdk/9.0.101/dotnet-sdk-9.0.101-linux-x64.tar.gz'.
dotnet-install: Downloading using legacy url will not be attempted.
dotnet-install: Version: '9.0.101'.
dotnet-install: Calling: get_specific_product_version  9.0.101 https://dotnetcli.azureedge.net/dotnet/Sdk/9.0.101/dotnet-sdk-9.0.101-linux-x64.tar.gz
dotnet-install: Calling: get_specific_product_version_url  9.0.101 true https://dotnetcli.azureedge.net/dotnet/Sdk/9.0.101/dotnet-sdk-9.0.101-linux-x64.tar.gz
dotnet-install: Constructed productVersion link: https://dotnetcli.azureedge.net/dotnet/Sdk/9.0.101/sdk-productVersion.txt
dotnet-install: Calling: get_specific_product_version_url  9.0.101 false https://dotnetcli.azureedge.net/dotnet/Sdk/9.0.101/dotnet-sdk-9.0.101-linux-x64.tar.gz
dotnet-install: Constructed productVersion link: https://dotnetcli.azureedge.net/dotnet/Sdk/9.0.101/productVersion.txt
dotnet-install: Checking for the existence of https://dotnetcli.azureedge.net/dotnet/Sdk/9.0.101/sdk-productVersion.txt
dotnet-install: Calling: machine_has curl
dotnet-install: Generated 1 links.
dotnet-install: Link 0: aka.ms, 9.0.101, https://dotnetcli.azureedge.net/dotnet/Sdk/9.0.101/dotnet-sdk-9.0.101-linux-x64.tar.gz
dotnet-install: Payload URLs:
dotnet-install: URL #0 - aka.ms: https://dotnetcli.azureedge.net/dotnet/Sdk/9.0.101/dotnet-sdk-9.0.101-linux-x64.tar.gz
dotnet-install: Repeatable invocation: ./dotnet-install.sh --version "9.0.101" --install-dir "/home/chethusk/.dotnet" --architecture "x64" --os "linux" --verbose
chethusk@Chet-Desktop:/mnt/e/Code/dotnet-install-scripts/src$ ./dotnet-install.sh --channel 9.0 --quality ga --dry-run --verbose
dotnet-install: Note that the intended use of this script is for Continuous Integration (CI) scenarios, where:
dotnet-install: - The SDK needs to be installed without user interaction and without admin rights.
dotnet-install: - The SDK installation doesn't need to persist across multiple CI runs.
dotnet-install: To set up a development environment or to run apps, use installers rather than this script. Visit https://dotnet.microsoft.com/download to get the installer.

dotnet-install: Calling: machine_has curl
dotnet-install: Calling: calculate_vars
dotnet-install: Calling: get_normalized_architecture_from_architecture <auto>
dotnet-install: Calling: get_machine_architecture
dotnet-install: Normalized architecture: 'x64'.
dotnet-install: Calling: get_normalized_os
dotnet-install: Calling: get_current_os_name
dotnet-install: Calling: get_linux_platform_name
dotnet-install: Normalized OS: 'linux'.
dotnet-install: Calling: get_normalized_quality ga
dotnet-install: Normalized quality: ''.
dotnet-install: Calling: get_normalized_channel 9.0
dotnet-install: Normalized channel: '9.0'.
dotnet-install: Calling: get_normalized_product
dotnet-install: Normalized product: 'dotnet-sdk'.
dotnet-install: Calling: resolve_installation_path <auto>
dotnet-install: Calling: get_user_install_path
dotnet-install: resolve_installation_path: user_install_path=/home/chethusk/.dotnet
dotnet-install: InstallRoot: '/home/chethusk/.dotnet'.
dotnet-install: Calling: get_normalized_architecture_for_specific_sdk_version Latest 9.0 x64
dotnet-install: Calling: get_current_os_name
dotnet-install: Calling: get_linux_platform_name
dotnet-install: Calling: get_download_link_from_aka_ms
dotnet-install: Retrieving primary payload URL from aka.ms for channel: '9.0', quality: '', product: 'dotnet-sdk', os: 'linux', architecture: 'x64'.
dotnet-install: Constructed aka.ms link: 'https://aka.ms/dotnet/9.0/dotnet-sdk-linux-x64.tar.gz'.
dotnet-install: Calling: get_http_header https://aka.ms/dotnet/9.0/dotnet-sdk-linux-x64.tar.gz true
dotnet-install: Calling: machine_has curl
dotnet-install: Calling: get_http_header_curl https://aka.ms/dotnet/9.0/dotnet-sdk-linux-x64.tar.gz true
dotnet-install: Received response: HTTP/1.1 301 Moved Permanently
Server: Kestrel
Location: https://dotnetcli.azureedge.net/dotnet/Sdk/9.0.101/dotnet-sdk-9.0.101-linux-x64.tar.gz
Request-Context: appId=cid-v1:d94c0f68-64bf-4036-8409-a0e761bb7ee1
X-Response-Cache-Status: True
Content-Length: 0
Expires: Fri, 20 Dec 2024 22:45:17 GMT
Cache-Control: max-age=0, no-cache, no-store
Pragma: no-cache
Date: Fri, 20 Dec 2024 22:45:17 GMT
Connection: keep-alive
Strict-Transport-Security: max-age=31536000 ; includeSubDomains

HTTP/2 200
accept-ranges: bytes
age: 100216
content-md5: CIgc/eLDVx/WFrmmkqQj+w==
content-type: application/octet-stream
date: Fri, 20 Dec 2024 22:45:17 GMT
etag: 0x8DD13C4389CAD29
last-modified: Tue, 03 Dec 2024 17:59:24 GMT
server: ECAcc (dac/9C4B)
x-cache: HIT
x-ms-blob-type: BlockBlob
x-ms-lease-status: unlocked
x-ms-request-id: 9e02f845-301e-0056-6647-52948f000000
x-ms-version: 2009-09-19
content-length: 210346874

dotnet-install: Calling: sanitize_redirect_url https://dotnetcli.azureedge.net/dotnet/Sdk/9.0.101/dotnet-sdk-9.0.101-linux-x64.tar.gz
dotnet-install: Checking configured feeds for the asset at Sdk/9.0.101/dotnet-sdk-9.0.101-linux-x64.tar.gz
dotnet-install: Checking https://builds.dotnet.microsoft.com/dotnet/Sdk/9.0.101/dotnet-sdk-9.0.101-linux-x64.tar.gz
dotnet-install: Calling: check_url_exists https://builds.dotnet.microsoft.com/dotnet/Sdk/9.0.101/dotnet-sdk-9.0.101-linux-x64.tar.gz
dotnet-install: Calling: machine_has curl
dotnet-install: No match at https://builds.dotnet.microsoft.com/dotnet/Sdk/9.0.101/dotnet-sdk-9.0.101-linux-x64.tar.gz
dotnet-install: Checking https://dotnetcli.azureedge.net/dotnet/Sdk/9.0.101/dotnet-sdk-9.0.101-linux-x64.tar.gz
dotnet-install: Calling: check_url_exists https://dotnetcli.azureedge.net/dotnet/Sdk/9.0.101/dotnet-sdk-9.0.101-linux-x64.tar.gz
dotnet-install: Calling: machine_has curl
dotnet-install: Found a match at https://dotnetcli.azureedge.net/dotnet/Sdk/9.0.101/dotnet-sdk-9.0.101-linux-x64.tar.gz
dotnet-install: The redirect location retrieved: 'https://dotnetcli.azureedge.net/dotnet/Sdk/9.0.101/dotnet-sdk-9.0.101-linux-x64.tar.gz'.
dotnet-install: Retrieved primary payload URL from aka.ms link: 'https://dotnetcli.azureedge.net/dotnet/Sdk/9.0.101/dotnet-sdk-9.0.101-linux-x64.tar.gz'.
dotnet-install: Downloading using legacy url will not be attempted.
dotnet-install: Version: '9.0.101'.
dotnet-install: Calling: get_specific_product_version  9.0.101 https://dotnetcli.azureedge.net/dotnet/Sdk/9.0.101/dotnet-sdk-9.0.101-linux-x64.tar.gz
dotnet-install: Calling: get_specific_product_version_url  9.0.101 true https://dotnetcli.azureedge.net/dotnet/Sdk/9.0.101/dotnet-sdk-9.0.101-linux-x64.tar.gz
dotnet-install: Constructed productVersion link: https://dotnetcli.azureedge.net/dotnet/Sdk/9.0.101/sdk-productVersion.txt
dotnet-install: Calling: get_specific_product_version_url  9.0.101 false https://dotnetcli.azureedge.net/dotnet/Sdk/9.0.101/dotnet-sdk-9.0.101-linux-x64.tar.gz
dotnet-install: Constructed productVersion link: https://dotnetcli.azureedge.net/dotnet/Sdk/9.0.101/productVersion.txt
dotnet-install: Checking for the existence of https://dotnetcli.azureedge.net/dotnet/Sdk/9.0.101/sdk-productVersion.txt
dotnet-install: Calling: machine_has curl
dotnet-install: Generated 1 links.
dotnet-install: Link 0: aka.ms, 9.0.101, https://dotnetcli.azureedge.net/dotnet/Sdk/9.0.101/dotnet-sdk-9.0.101-linux-x64.tar.gz
dotnet-install: Payload URLs:
dotnet-install: URL #0 - aka.ms: https://dotnetcli.azureedge.net/dotnet/Sdk/9.0.101/dotnet-sdk-9.0.101-linux-x64.tar.gz
dotnet-install: Repeatable invocation: ./dotnet-install.sh --version "9.0.101" --install-dir "/home/chethusk/.dotnet" --architecture "x64" --os "linux" --verbose

@baronfel
Copy link
Member Author

cc @JanProvaznik / @joeloff

src/dotnet-install.ps1 Outdated Show resolved Hide resolved
src/dotnet-install.ps1 Outdated Show resolved Hide resolved
@baronfel
Copy link
Member Author

The test failures here are all just expected changes to the assertions for the tested scenarios. Adding more feeds means more items will exist in the list of possible URLs that will be accessed. I'll need to update the baselines before we can merge this.

@baronfel
Copy link
Member Author

Verified (with manually-specified AzureFeed parameters) that when the scripts are targeted against the Azure FrontDoor gnarly URLs that the SDK/Runtime assets are successfully discovered, for both Powershell and Bash. I believe all that's left for this PR is to get the expected values updated for the Bash tests.

Once we have the nice names ready to go, we can remove the gnarly URLs and reinstate the vanity URLs - which will require updating the test expectations again.

@baronfel
Copy link
Member Author

New expectations pushed. One thing that would make this easier in the future is that today, a failure (including test failure) in one leg cancels the other two legs. Ideally all would be allowed to run to completion so that fixes could be made in one fell swoop.

@baronfel
Copy link
Member Author

Merging now that things are green. Next step is for @mmitche to test in arcade.

@richlander
Copy link
Member

dotnet/core#9671

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants