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

Add official signed build pipeline #1016

Merged
merged 9 commits into from
Dec 19, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions eng/SignCheckExclusionsFile.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
;; Exclusions for SignCheck. Corresponds to info in Signing.props.
;; Format: https://github.com/dotnet/arcade/blob/397316e195639450b6c76bfeb9823b40bee72d6d/src/SignCheck/Microsoft.SignCheck/Verification/Exclusion.cs#L23-L35
;;
;; This issue tracks a way to implement exclusions via Signing.props and avoid this extra file: https://github.com/dotnet/arcade/issues/2888

;; The apphost and comhost are template files, modified by the SDK to produce the executable for FDE
;; and SCD apps. If they are signed, the file that the SDK produces has an invalid signature and
;; can't be signed again. More info at https://github.com/dotnet/core-setup/pull/7549.
*apphost.exe;;Template, https://github.com/dotnet/core-setup/pull/7549
*comhost.dll;;Template, https://github.com/dotnet/core-setup/pull/7549
*apphosttemplateapphostexe.exe;;Template, https://github.com/dotnet/core-setup/pull/7549
*comhosttemplatecomhostdll.dll;;Template, https://github.com/dotnet/core-setup/pull/7549
124 changes: 122 additions & 2 deletions eng/Signing.props
Original file line number Diff line number Diff line change
@@ -1,3 +1,123 @@
<Project>
<!-- TODO: Consolidate the Signing.props files into here. -->
</Project>

<PropertyGroup>
<!--
Windows arm/arm64 jobs don't have MSIs to sign. Keep it simple: allow not finding any matches
here and rely on overall signing validation.
-->
<AllowEmptySignList>true</AllowEmptySignList>
</PropertyGroup>

<!-- Get artifact locations to sign. -->
<Import Project="$(RepositoryEngineeringDir)/liveBuilds.targets" />

<ItemGroup>
<!--
Replace the default items to sign with the specific set we want. This allows the build to call
Arcade's Sign.proj multiple times for different sets of files as the build progresses.
-->
<ItemsToSign Remove="@(ItemsToSign)" />

<!-- Find bundle artifacts, which need multiple stages to fully sign. -->
<BundleInstallerEngineArtifact Include="$(ArtifactsPackagesDir)**/*engine.exe" />
<BundleInstallerExeArtifact Include="$(ArtifactsPackagesDir)**/*.exe" />

<!-- apphost and comhost template files are not signed, by design. -->
<FileSignInfo Include="apphost.exe;comhost.dll" CertificateName="None" />
</ItemGroup>

<ItemGroup Condition="'$(CrossTargetComponentFolder)' != ''">
<CoreCLRCrossTargetItemsToSign Include="$(CoreCLRArtifactsPath)$(CrossTargetComponentFolder)/sharedFramework/*.dll" />
<CoreCLRCrossTargetItemsToSign Include="$(CoreCLRArtifactsPath)$(CrossTargetComponentFolder)/sharedFramework/*.exe" />
</ItemGroup>

<ItemGroup Condition="'$(SignBinaries)' == 'true'">
<!-- Sign CoreCLR. -->
<ItemsToSign Include="$(CoreCLRSharedFrameworkDir)*.dll" />
<ItemsToSign Include="$(CoreCLRSharedFrameworkDir)*.exe" />

<ItemsToSign Include="$(CoreCLRArtifactsPath)System.Private.CoreLib.dll" />

<ItemsToSign Include="$(CoreCLRArtifactsPath)crossgen2/crossgen2.exe" />
safern marked this conversation as resolved.
Show resolved Hide resolved
<ItemsToSign Include="$(CoreCLRArtifactsPath)crossgen2/crossgen2.dll" />
<ItemsToSign Include="$(CoreCLRArtifactsPath)crossgen2/ILCompiler.DependencyAnalysisFramework.dll" />
<ItemsToSign Include="$(CoreCLRArtifactsPath)crossgen2/ILCompiler.ReadyToRun.dll" />
<ItemsToSign Include="$(CoreCLRArtifactsPath)crossgen2/ILCompiler.TypeSystem.ReadyToRun.dll" />
<ItemsToSign Include="$(CoreCLRArtifactsPath)crossgen2/clrjitilc.dll" />
<ItemsToSign Include="$(CoreCLRArtifactsPath)crossgen2/jitinterface.dll" />

<ItemsToSign Include="@(CoreCLRCrossTargetItemsToSign)" />

<FileSignInfo Include="mscordaccore.dll" CertificateName="MicrosoftSHA2" />

<!-- Sign api-ms-win-core-xstate-l2-1-0 binary as it is only catalog signed in the current SDK. -->
<ItemsToSign
Condition="'$(ConfigurationGroup)' == 'Release' and '$(TargetArchitecture)' == 'x86'"
Include="$(CoreCLRArtifactsPath)Redist\ucrt\DLLs\$(TargetArchitecture)\api-ms-win-core-xstate-l2-1-0.dll" />

<!-- Sign libraries. -->
<ItemsToSign Include="$(LibrariesNativeArtifactsPath)*.dll" />
<ItemsToSign Include="$(LibrariesSharedFrameworkRefArtifactsPath)*.dll" />
dagood marked this conversation as resolved.
Show resolved Hide resolved
<!-- Most runtime artifacts will be crossgenned, so sign them post-crossgen. mscorlib isn't. -->
safern marked this conversation as resolved.
Show resolved Hide resolved
<ItemsToSign Include="$(LibrariesSharedFrameworkBinArtifactsPath)mscorlib.dll" />

<!-- Sign the host. -->
<ItemsToSign Include="$(BaseOutputRootPath)corehost/**/hostfxr.dll" />
<ItemsToSign Include="$(BaseOutputRootPath)corehost/**/hostpolicy.dll" />
<ItemsToSign Include="$(BaseOutputRootPath)corehost/**/dotnet.exe" />
<ItemsToSign Include="$(BaseOutputRootPath)corehost/**/ijwhost.dll" />
<ItemsToSign Include="$(BaseOutputRootPath)corehost/**/winrthost.dll" />
<ItemsToSign Include="$(BaseOutputRootPath)corehost/**/nethost.dll" />

<!-- Sign managed libraries in installer subset. -->
<ItemsToSign Include="$(ArtifactsBinDir)Microsoft.DotNet.PlatformAbstractions/**/*.dll" />
<ItemsToSign Include="$(ArtifactsBinDir)Microsoft.Extensions.DependencyModel/**/*.dll" />
<ItemsToSign Include="$(ArtifactsBinDir)Microsoft.NET.HostModel/**/*.dll" />
</ItemGroup>

<!-- Sign ready-to-run binaries after crossgen is applied. -->
<ItemGroup Condition="'$(SignR2RBinaries)' == 'true'">
<ItemsToSign Include="$(CrossGenRootPath)**/*.dll" />
</ItemGroup>

<ItemGroup Condition="'$(SignMsiFiles)' == 'true'">
<ItemsToSign Include="$(ArtifactsPackagesDir)**/*.msi" />
<ItemsToSign Include="$(ArtifactsPackagesDir)**/*.cab" />
</ItemGroup>

<ItemGroup Condition="'$(SignBurnEngineFiles)' == 'true'">
<ItemsToSign Include="@(BundleInstallerEngineArtifact)" />
</ItemGroup>

<ItemGroup Condition="'$(SignBurnBundleFiles)' == 'true'">
<!-- Sign the bundles, now that the engine is reattached. Avoid re-signing the engine. -->
<ItemsToSign
Include="@(BundleInstallerExeArtifact)"
Exclude="@(BundleInstallerEngineArtifact)" />
<!-- Note: wixstdba is internal to the engine bundle and does not get signed. -->
</ItemGroup>

<ItemGroup Condition="'$(SignFinalPackages)' == 'true'">
<DownloadedSymbolPackages Include="$(DownloadDirectory)**\*.symbols.nupkg" />
<ItemsToSign Include="$(DownloadDirectory)**\*.nupkg" Exclude="@(DownloadedSymbolPackages)" />

<ItemsToSign Include="$(DownloadDirectory)**\*.deb" />
<ItemsToSign Include="$(DownloadDirectory)**\*.rpm" />
</ItemGroup>

<ItemGroup>
<!-- External files -->
<ItemsToSign Remove="@(ItemsToSign->WithMetadataValue('Filename', 'Newtonsoft.Json'))" />
</ItemGroup>

<ItemGroup>
<ItemsToSign Update="@(ItemsToSign)" Authenticode="$(CertificateId)" />
</ItemGroup>

<ItemGroup>
<FileExtensionSignInfo Include=".msi" CertificateName="Microsoft400" />
<FileExtensionSignInfo Include=".pkg" CertificateName="8003" />
<FileExtensionSignInfo Include=".deb;.rpm" CertificateName="LinuxSign" />
</ItemGroup>

</Project>
2 changes: 1 addition & 1 deletion eng/Subsets.props
Original file line number Diff line number Diff line change
Expand Up @@ -121,7 +121,7 @@
</ItemGroup>

<ItemGroup Condition="$(_subsetCategory.Contains('installer')) and $(_subset.Contains('depproj'))">
<DepprojProjectToBuild Include="$(InstallerProjectRoot)pkg\projects\**\*.depproj" SignPhase="Binaries" BuildInParallel="false" />
<DepprojProjectToBuild Include="$(InstallerProjectRoot)pkg\projects\**\*.depproj" SignPhase="R2RBinaries" BuildInParallel="false" />
<ProjectToBuild Include="@(DepprojProjectToBuild)" />
</ItemGroup>

Expand Down
3 changes: 2 additions & 1 deletion eng/Versions.props
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,8 @@
<DotNetFinalVersionKind Condition="'$(StabilizePackageVersion)' == 'true'">release</DotNetFinalVersionKind>
<!-- Opt-in/out repo features -->
<UsingToolMicrosoftNetCompilers>true</UsingToolMicrosoftNetCompilers>
<UsingToolIbcOptimization>true</UsingToolIbcOptimization>
<!-- TODO: (Consolidation) Fix internal tool restore and re-enable. https://github.com/dotnet/runtime/issues/1024 -->
<!-- <UsingToolIbcOptimization>true</UsingToolIbcOptimization> -->
<UsingToolXliff>false</UsingToolXliff>
<!-- Paths used during restore -->
<EnableNgenOptimization Condition="'$(EnableNgenOptimization)' == '' and '$(ConfigurationGroup)' == 'Release'">true</EnableNgenOptimization>
Expand Down
35 changes: 30 additions & 5 deletions eng/liveBuilds.targets
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,29 @@
<CoreCLRConfiguration Condition="'$(CoreCLRConfiguration)' == ''">$(Configuration)</CoreCLRConfiguration>
<LibrariesOSGroup Condition="'$(LibrariesOSGroup)' == ''">$(OSGroup)</LibrariesOSGroup>
<LibrariesConfiguration Condition="'$(LibrariesConfiguration)' == ''">$(Configuration)</LibrariesConfiguration>

<CoreCLRArtifactsPath Condition="'$(CoreCLROverridePath)' != ''">$([MSBuild]::NormalizeDirectory('$(CoreCLROverridePath)'))</CoreCLRArtifactsPath>
<CoreCLRArtifactsPath Condition="'$(CoreCLRArtifactsPath)' == ''">$([MSBuild]::NormalizeDirectory('$(RepoRoot)', 'artifacts', 'bin', 'coreclr', '$(CoreCLROSGroup).$(TargetArchitecture).$(CoreCLRConfiguration)'))</CoreCLRArtifactsPath>
<LibrariesSharedFrameworkRefArtifactsPath Condition="'$(LibrariesSharedFrameworkRefArtifactsPath)' == ''">$([MSBuild]::NormalizeDirectory('$(RepoRoot)', 'artifacts', 'bin', 'ref', 'microsoft.netcore.app', '$(LibrariesConfiguration)'))</LibrariesSharedFrameworkRefArtifactsPath>
<LibrariesAllRefArtifactsPath Condition="'$(LibrariesAllRefArtifactsPath)' == ''">$([MSBuild]::NormalizeDirectory('$(RepoRoot)', 'artifacts', 'bin', 'ref', '$(NetCoreAppCurrent)'))</LibrariesAllRefArtifactsPath>
<LibrariesSharedFrameworkBinArtifactsPath Condition="'$(LibrariesSharedFrameworkBinArtifactsPath)' == ''">$([MSBuild]::NormalizeDirectory('$(RepoRoot)', 'artifacts', 'bin', 'pkg', '$(NetCoreAppCurrent)', 'runtime', '$(LibrariesOSGroup)-$(LibrariesConfiguration)-$(TargetArchitecture)'))</LibrariesSharedFrameworkBinArtifactsPath>
<LibrariesAllBinArtifactsPath Condition="'$(LibrariesAllBinArtifactsPath)' == ''">$([MSBuild]::NormalizeDirectory('$(RepoRoot)', 'artifacts', 'bin', 'runtime', '$(NetCoreAppCurrent)-$(LibrariesOSGroup)-$(LibrariesConfiguration)-$(TargetArchitecture)'))</LibrariesAllBinArtifactsPath>
<LibrariesNativeArtifactsPath Condition="'$(LibrariesNativeArtifactsPath)' == ''">$([MSBuild]::NormalizeDirectory('$(RepoRoot)', 'artifacts', 'bin', 'native', '$(NetCoreAppCurrent)-$(LibrariesOSGroup)-$(LibrariesConfiguration)-$(TargetArchitecture)'))</LibrariesNativeArtifactsPath>

<CoreCLRSharedFrameworkDir>$([MSBuild]::NormalizeDirectory('$(CoreCLRArtifactsPath)', 'sharedFramework'))</CoreCLRSharedFrameworkDir>

<LibrariesArtifactsPath Condition="'$(LibrariesArtifactsPath)' == ''">$([MSBuild]::NormalizeDirectory('$(RepoRoot)', 'artifacts'))</LibrariesArtifactsPath>

<LibrariesPackagesDir>$([MSBuild]::NormalizeDirectory('$(LibrariesArtifactsPath)', 'packages', '$(LibrariesConfiguration)'))</LibrariesPackagesDir>
<LibrariesShippingPackagesDir>$([MSBuild]::NormalizeDirectory('$(LibrariesPackagesDir)', 'Shipping'))</LibrariesShippingPackagesDir>
<LibrariesNonShippingPackagesDir>$([MSBuild]::NormalizeDirectory('$(LibrariesPackagesDir)', 'NonShipping'))</LibrariesNonShippingPackagesDir>

<LibrariesAllConfigurationsArtifactsPath Condition="'$(LibrariesAllConfigurationsArtifactsPath)' == ''">$([MSBuild]::NormalizeDirectory('$(RepoRoot)', 'artifacts'))</LibrariesAllConfigurationsArtifactsPath>
safern marked this conversation as resolved.
Show resolved Hide resolved

<LibrariesAllConfigPackagesDir>$([MSBuild]::NormalizeDirectory('$(LibrariesAllConfigurationsArtifactsPath)', 'packages', '$(LibrariesConfiguration)'))</LibrariesAllConfigPackagesDir>
<LibrariesAllConfigShippingPackagesDir>$([MSBuild]::NormalizeDirectory('$(LibrariesAllConfigPackagesDir)', 'Shipping'))</LibrariesAllConfigShippingPackagesDir>
<LibrariesAllConfigNonShippingPackagesDir>$([MSBuild]::NormalizeDirectory('$(LibrariesAllConfigPackagesDir)', 'NonShipping'))</LibrariesAllConfigNonShippingPackagesDir>

<LibrariesSharedFrameworkRefArtifactsPath Condition="'$(LibrariesSharedFrameworkRefArtifactsPath)' == ''">$([MSBuild]::NormalizeDirectory('$(LibrariesArtifactsPath)', 'bin', 'ref', 'microsoft.netcore.app', '$(LibrariesConfiguration)'))</LibrariesSharedFrameworkRefArtifactsPath>
<LibrariesAllRefArtifactsPath Condition="'$(LibrariesAllRefArtifactsPath)' == ''">$([MSBuild]::NormalizeDirectory('$(LibrariesArtifactsPath)', 'bin', 'ref', '$(NetCoreAppCurrent)'))</LibrariesAllRefArtifactsPath>
<LibrariesSharedFrameworkBinArtifactsPath Condition="'$(LibrariesSharedFrameworkBinArtifactsPath)' == ''">$([MSBuild]::NormalizeDirectory('$(LibrariesArtifactsPath)', 'bin', 'pkg', '$(NetCoreAppCurrent)', 'runtime', '$(LibrariesOSGroup)-$(LibrariesConfiguration)-$(TargetArchitecture)'))</LibrariesSharedFrameworkBinArtifactsPath>
<LibrariesAllBinArtifactsPath Condition="'$(LibrariesAllBinArtifactsPath)' == ''">$([MSBuild]::NormalizeDirectory('$(LibrariesArtifactsPath)', 'bin', 'runtime', '$(NetCoreAppCurrent)-$(LibrariesOSGroup)-$(LibrariesConfiguration)-$(TargetArchitecture)'))</LibrariesAllBinArtifactsPath>
<LibrariesNativeArtifactsPath Condition="'$(LibrariesNativeArtifactsPath)' == ''">$([MSBuild]::NormalizeDirectory('$(LibrariesArtifactsPath)', 'bin', 'native', '$(NetCoreAppCurrent)-$(LibrariesOSGroup)-$(LibrariesConfiguration)-$(TargetArchitecture)'))</LibrariesNativeArtifactsPath>
<CoreCLRCrossTargetComponentDirName Condition="'$(TargetArchitecture)' == 'arm64' and '$(BuildArchitecture)' != 'arm64'">x64</CoreCLRCrossTargetComponentDirName>
<CoreCLRCrossTargetComponentDirName Condition="'$(TargetArchitecture)' == 'arm' and '$(BuildArchitecture)' != 'arm' and '$(TargetsWindows)' == 'true'">x86</CoreCLRCrossTargetComponentDirName>
<CoreCLRCrossTargetComponentDirName Condition="'$(TargetArchitecture)' == 'arm' and '$(BuildArchitecture)' != 'arm' and '$(TargetsLinux)' == 'true'">x64</CoreCLRCrossTargetComponentDirName>
Expand All @@ -21,6 +38,10 @@

<PropertyGroup>
<CoreCLRArtifactsPath>$([MSBuild]::NormalizeDirectory('$(CoreCLRArtifactsPath)'))</CoreCLRArtifactsPath>
<!--
Even though CoreCLRSharedFrameworkDir is statically initialized, set it again in case the
value is different after CoreCLRArtifactsPath is normalized.
-->
<CoreCLRSharedFrameworkDir>$([MSBuild]::NormalizeDirectory('$(CoreCLRArtifactsPath)','sharedFramework'))</CoreCLRSharedFrameworkDir>
<CoreCLRCrossTargetComponentDir
Condition="'$(CoreCLRCrossTargetComponentDirName)' != ''">$([MSBuild]::NormalizeDirectory('$(CoreCLRArtifactsPath)','$(CoreCLRCrossTargetComponentDirName)','sharedFramework'))</CoreCLRCrossTargetComponentDir>
Expand Down Expand Up @@ -51,6 +72,10 @@
$(CoreCLRCrossTargetComponentDir)PDB/*.pdb;
$(CoreCLRCrossTargetComponentDir)PDB/*.dbg;
$(CoreCLRCrossTargetComponentDir)PDB/*.dwarf" />

<CoreCLRCrossTargetFiles>
<TargetPath>runtime/$(CoreCLRCrossTargetComponentDirName)_$(TargetArchitecture)/native</TargetPath>
</CoreCLRCrossTargetFiles>
</ItemGroup>

<Error Condition="'@(CoreCLRFiles)' == ''" Text="The CoreCLR subset category must be built before building this project." />
Expand Down
20 changes: 20 additions & 0 deletions eng/pipelines/common/upload-unsigned-artifacts-step.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
parameters:
name: ''

steps:
- task: CopyFiles@2
safern marked this conversation as resolved.
Show resolved Hide resolved
displayName: Prepare job-specific intermediate unsigned artifacts subdirectory
inputs:
SourceFolder: '$(Build.SourcesDirectory)/artifacts/packages/$(_BuildConfig)'
Contents: |
Shipping/**/*
NonShipping/**/*
TargetFolder: '$(Build.StagingDirectory)/UnsignedArtifacts/${{ parameters.name }}'
CleanTargetFolder: true

- task: PublishBuildArtifacts@1
displayName: Publish intermediate unsigned artifacts
inputs:
pathToPublish: '$(Build.StagingDirectory)/UnsignedArtifacts'
artifactName: IntermediateUnsignedArtifacts
artifactType: container
48 changes: 25 additions & 23 deletions eng/pipelines/coreclr/templates/build-job.yml
Original file line number Diff line number Diff line change
Expand Up @@ -80,10 +80,11 @@ jobs:
- ${{ if and(eq(variables['System.TeamProject'], 'internal'), ne(variables['Build.Reason'], 'PullRequest')) }}:
- name: officialBuildIdArg
value: '-officialbuildid=$(Build.BuildNumber)'
# IBCMerge is currently Windows-only and x86/x64-only
- ${{ if and(eq(parameters.osGroup, 'Windows_NT'), or(eq(parameters.archType, 'x64'), eq(parameters.archType, 'x86'))) }}:
- name: ibcOptimizeArg
value: '-ibcoptimize'
# TODO: (Consolidation) Fix internal tool restore and re-enable. https://github.com/dotnet/runtime/issues/1024
# # IBCMerge is currently Windows-only and x86/x64-only
# - ${{ if and(eq(parameters.osGroup, 'Windows_NT'), or(eq(parameters.archType, 'x64'), eq(parameters.archType, 'x86'))) }}:
# - name: ibcOptimizeArg
# value: '-ibcoptimize'
- name: enforcePgoArg
value: ''
# The EnforcePGO script is only supported on Windows and is not supported on arm or arm64.
Expand All @@ -107,25 +108,26 @@ jobs:
- script: $(Build.SourcesDirectory)\eng\common\init-tools-native.cmd -InstallDirectory $(Build.SourcesDirectory)\native-tools -Force
displayName: Install native dependencies

# Install internal tools on official builds
# Since our internal tools are behind an authenticated feed,
# we need to use the DotNetCli AzDO task to restore from the feed using a service connection.
# We can't do this from within the build, so we need to do this as a separate step.
- ${{ if and(and(eq(variables['System.TeamProject'], 'internal'), ne(variables['Build.Reason'], 'PullRequest')), eq(parameters.osGroup, 'Windows_NT')) }}:
- task: DotNetCoreInstaller@0
inputs:
packageType: 'sdk'
version: '2.1.503'
- task: DotNetCoreCLI@2
displayName: Restore internal tools
inputs:
command: restore
feedsToUse: config
projects: '$(Build.SourcesDirectory)/eng/common/internal/Tools.csproj'
nugetConfigPath: 'eng/internal/NuGet.config'
restoreDirectory: '$(Build.SourcesDirectory)\.packages'
verbosityRestore: 'normal'
externalFeedCredentials: 'dotnet-core-internal-tooling'
# TODO: (Consolidation) Fix internal tool restore and re-enable. https://github.com/dotnet/runtime/issues/1024
# # Install internal tools on official builds
# # Since our internal tools are behind an authenticated feed,
# # we need to use the DotNetCli AzDO task to restore from the feed using a service connection.
# # We can't do this from within the build, so we need to do this as a separate step.
# - ${{ if and(and(eq(variables['System.TeamProject'], 'internal'), ne(variables['Build.Reason'], 'PullRequest')), eq(parameters.osGroup, 'Windows_NT')) }}:
# - task: DotNetCoreInstaller@0
# inputs:
# packageType: 'sdk'
# version: '2.1.503'
# - task: DotNetCoreCLI@2
# displayName: Restore internal tools
# inputs:
# command: restore
# feedsToUse: config
# projects: '$(Build.SourcesDirectory)/eng/common/internal/Tools.csproj'
# nugetConfigPath: 'eng/internal/NuGet.config'
# restoreDirectory: '$(Build.SourcesDirectory)\.packages'
# verbosityRestore: 'normal'
# externalFeedCredentials: 'dotnet-core-internal-tooling'

# Build
- ${{ if ne(parameters.osGroup, 'Windows_NT') }}:
Expand Down
4 changes: 1 addition & 3 deletions eng/pipelines/installer/installer-matrix.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ jobs:
- Windows_NT_arm64
jobParameters:
${{ insert }}: ${{ parameters }}
skipTests: true
crossBuild: true

- template: /eng/pipelines/common/platform-matrix.yml
parameters:
Expand Down Expand Up @@ -42,7 +42,6 @@ jobs:
jobParameters:
${{ insert }}: ${{ parameters }}
portableBuild: true
skipTests: true
crossBuild: true

- template: /eng/pipelines/common/platform-matrix.yml
Expand All @@ -67,7 +66,6 @@ jobs:
additionalMSBuildArgs: /p:OutputRid=linux-musl-arm64
portableBuild: false
crossBuild: true
skipTests: true

- template: /eng/pipelines/common/platform-matrix.yml
parameters:
Expand Down
Loading