diff --git a/eng/SourceBuild.props b/eng/SourceBuild.props index 5c714e42c4e16b741961809643e92181d94bc71a..f81ea7e5fed6225735574d7f5bf350f8604570f4 100644 --- a/eng/SourceBuild.props +++ b/eng/SourceBuild.props @@ -46,8 +46,20 @@ Condition="'$(ArcadeInnerBuildFromSource)' == 'true'" BeforeTargets="Execute"> + <!-- If the alternative runtime location and key are present, pass those through --> + <PropertyGroup> + <_AdditionalRepoTaskBuildArgs /> + <_AdditionalRepoTaskBuildArgs Condition="'$(DotNetRuntimeSourceFeed)' != ''" >$(_AdditionalRepoTaskBuildArgs) --runtimesourcefeed $(DotNetRuntimeSourceFeed)</_AdditionalRepoTaskBuildArgs> + <_AdditionalRepoTaskBuildArgs Condition="'$(DotNetRuntimeSourceFeedKey)' != ''" >$(_AdditionalRepoTaskBuildArgs) --runtimesourcefeedkey $(DotNetRuntimeSourceFeedKey)</_AdditionalRepoTaskBuildArgs> + </PropertyGroup> + + <!-- Call the build.sh script to build the repo tasks. Set IgnoreStandardErrorWarningFormat + to true. This avoids fatal errors, because in internal builds there are usually a few failed installation + attempts as the install script walks through potential locations for a runtime. + The overall build script will return a proper exit code, but we don't want to pick up the printed error messages. --> <Exec - Command="./eng/build.sh --only-build-repo-tasks -bl" + Command="./eng/build.sh --only-build-repo-tasks -bl $(_AdditionalRepoTaskBuildArgs)" + IgnoreStandardErrorWarningFormat="true" WorkingDirectory="$(InnerSourceBuildRepoRoot)" EnvironmentVariables="@(InnerBuildEnv)" /> </Target> diff --git a/eng/targets/Helix.Common.props b/eng/targets/Helix.Common.props index eaccf9785f81289bdd81b8b7339635c03b86ef28..c49184704b9927a75906f4bc89b86acdc95de742 100644 --- a/eng/targets/Helix.Common.props +++ b/eng/targets/Helix.Common.props @@ -10,41 +10,55 @@ <HelixAvailablePlatform Include="Windows" /> </ItemGroup> - <!-- PR(ci.yaml) required queues --> - <ItemGroup Condition="'$(IsRequiredCheck)' == 'true' AND '$(TargetArchitecture)' == 'x64' AND '$(_UseHelixOpenQueues)' == 'true'"> + <!-- x64 PR(ci.yaml) required queues for internal and public cases --> + <ItemGroup Condition="'$(IsRequiredCheck)' == 'true' AND '$(TargetArchitecture)' == 'x64' AND '$(IsHelixDaily)' != 'true'"> <HelixAvailableTargetQueue Include="Ubuntu.1804.Amd64.Open" Platform="Linux" /> <HelixAvailableTargetQueue Include="Windows.10.Amd64.Server20H2.Open" Platform="Windows" /> <HelixAvailableTargetQueue Include="OSX.1014.Amd64.Open" Platform="OSX" /> </ItemGroup> - <!-- Quarantined test queues --> + <!-- x64 Quarantined-only (quarantined-pr.yml and quarantined-tests.yml) test queues --> <ItemGroup Condition="'$(IsRequiredCheck)' == 'true' AND '$(TargetArchitecture)' == 'x64' AND '$(_UseHelixOpenQueues)' == 'true' AND '$(RunQuarantinedTests)' == 'true'"> - <HelixAvailableTargetQueue Include="(Fedora.34.Amd64.Open)ubuntu.1604.amd64.open@mcr.microsoft.com/dotnet-buildtools/prereqs:fedora-34-helix-20210728124700-4f64125" Platform="Linux" /> + <HelixAvailableTargetQueue Include="(Fedora.34.Amd64.Open)ubuntu.1804.amd64.open@mcr.microsoft.com/dotnet-buildtools/prereqs:fedora-34-helix-20210728124700-4f64125" Platform="Linux" /> </ItemGroup> - <!-- queues for helix-matrix.yml pipeline --> + <!-- x64 Queues for public helix-matrix.yml and quarantine pipelines, except in windows-only cases --> <ItemGroup Condition="'$(TargetArchitecture)' == 'x64' AND '$(IsHelixDaily)' == 'true' AND '$(_UseHelixOpenQueues)' == 'true' AND '$(IsWindowsOnlyTest)' != 'true'"> - <HelixAvailableTargetQueue Include="Ubuntu.2004.Amd64.Open" Platform="Linux" /> - <HelixAvailableTargetQueue Include="OSX.1100.Amd64.Open" Platform="OSX" /> + <!-- Linux --> <HelixAvailableTargetQueue Include="Debian.9.Amd64.Open" Platform="Linux" /> <HelixAvailableTargetQueue Include="Redhat.7.Amd64.Open" Platform="Linux" /> - <HelixAvailableTargetQueue Include="(Fedora.34.Amd64.Open)ubuntu.1604.amd64.open@mcr.microsoft.com/dotnet-buildtools/prereqs:fedora-34-helix-20210728124700-4f64125" Platform="Linux" /> + <HelixAvailableTargetQueue Include="Ubuntu.2004.Amd64.Open" Platform="Linux" /> + <HelixAvailableTargetQueue Include="Ubuntu.1804.Amd64.Open" Platform="Linux" /> + + <!-- Mac --> + <HelixAvailableTargetQueue Include="OSX.1014.Amd64.Open" Platform="OSX" /> + <HelixAvailableTargetQueue Include="OSX.1100.Amd64.Open" Platform="OSX" /> + + <!-- Containers --> + <HelixAvailableTargetQueue Include="(Fedora.34.Amd64.Open)ubuntu.1804.amd64.open@mcr.microsoft.com/dotnet-buildtools/prereqs:fedora-34-helix-20210728124700-4f64125" Platform="Linux" /> <HelixAvailableTargetQueue Include="(Alpine.312.Amd64.Open)Ubuntu.1804.Amd64.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:alpine-3.12-helix-20200908125345-56c6673" Platform="Linux" /> <HelixAvailableTargetQueue Include="(Mariner)Ubuntu.1804.Amd64.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:cbl-mariner-1.0-helix-20210528192219-92bf620" Platform="Linux" /> </ItemGroup> + + <!-- x64 Queues for public helix-matrix.yml and quarantine pipelines, Windows cases--> <ItemGroup Condition="'$(TargetArchitecture)' == 'x64' AND '$(IsHelixDaily)' == 'true' AND '$(_UseHelixOpenQueues)' == 'true'"> + <HelixAvailableTargetQueue Include="Windows.10.Amd64.Server20H2.Open" Platform="Windows" /> <!-- TODO Re-enable Win-7 queue when dotnet restore are fixed. https://github.com/dotnet/aspnetcore/issues/32683 --> <!-- <HelixAvailableTargetQueue Include="Windows.7.Amd64.Open" Platform="Windows" /> --> <HelixAvailableTargetQueue Include="Windows.81.Amd64.Open" Platform="Windows" /> </ItemGroup> + + <!-- x64 Queues for internal helix-matrix.yml and quarantine pipelines --> + <!-- The preview queue is only available internally, and should only be run on a daily basis --> <ItemGroup Condition="'$(TargetArchitecture)' == 'x64' AND '$(IsHelixDaily)' == 'true' AND '$(_UseHelixOpenQueues)' != 'true'"> <HelixAvailableTargetQueue Include="Windows.10.Amd64.ClientPre.VS2019.Pre" Platform="Windows" /> </ItemGroup> - <!-- arm64 queues for helix-matrix.yml pipeline --> + <!-- arm64 queues for helix-matrix.yml and quarantine pipeline --> <ItemGroup Condition="'$(TargetArchitecture)' == 'arm64' AND '$(IsHelixDaily)' == 'true' AND '$(_UseHelixOpenQueues)' == 'true' AND '$(IsWindowsOnlyTest)' != 'true'"> <HelixAvailableTargetQueue Include="(Debian.9.Arm64.Open)Ubuntu.1804.Armarch.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:debian-9-helix-arm64v8-a12566d-20190807161036" Platform="Linux" /> </ItemGroup> + <!-- IIS Express isn't supported on arm64 and most of the IsWindowsOnlyTests depend on it's setup scripts. --> <ItemGroup Condition="'$(TargetArchitecture)' == 'arm64' AND '$(IsHelixDaily)' == 'true' AND '$(_UseHelixOpenQueues)' == 'true' AND '$(IsWindowsOnlyTest)' != 'true'"> <HelixAvailableTargetQueue Include="Windows.10.Arm64v8.Open" Platform="Windows" />