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

Refactor official build to use arcade templates #6412

Merged
merged 25 commits into from
Oct 27, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
d08e394
Call arcade post-build template
ericstj Oct 24, 2022
3f03889
Fix post-build template location
ericstj Oct 24, 2022
8e65846
Add "Build" stage to pipeline
ericstj Oct 24, 2022
0731af0
Decrease indent of post-build import
ericstj Oct 24, 2022
467fbeb
Is this yml better?
ericstj Oct 24, 2022
c458dd5
Use Arcade for publishing and signing
ericstj Oct 25, 2022
dc4cd33
Add explicit publish step
ericstj Oct 25, 2022
4a29b4e
Fix publish-build-assets template import
ericstj Oct 25, 2022
20513b2
Remove a bunch of unnecessary build steps
ericstj Oct 25, 2022
d0dba0c
Rename intermediate build artifact PackageAssets to pkgassets
ericstj Oct 25, 2022
0bedc65
Use job.yml template for Package job
ericstj Oct 25, 2022
d86931b
Attempt to fix yml error by reformatting variables
ericstj Oct 25, 2022
31b7eb8
Make Native.proj download MlNetMklDeps package
ericstj Oct 26, 2022
ee9708d
Fix publish build assets to depend on Package
ericstj Oct 26, 2022
eb18c8b
Enable publish during Package job
ericstj Oct 26, 2022
6fc1325
Set the pool for publish job
ericstj Oct 26, 2022
18825e9
Enable PostBuildSign
ericstj Oct 26, 2022
66cb2ec
Fix author of Microsoft.ML.Mkl.Redist
ericstj Oct 26, 2022
e092c8c
Make signing happen during Package job
ericstj Oct 26, 2022
ae05a62
Set SDK variable group
ericstj Oct 26, 2022
09837e7
Publish logs and artifacts from Package job
ericstj Oct 26, 2022
396ebb6
Enable more job template options
ericstj Oct 26, 2022
a45a09d
Attempt to fix import of SDL_Settings group
ericstj Oct 26, 2022
83c42ab
Attempt to fix syntax for variable group usage
ericstj Oct 26, 2022
ec1f420
Move pipeline variables into template
ericstj Oct 26, 2022
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
615 changes: 263 additions & 352 deletions build/vsts-ci.yml

Large diffs are not rendered by default.

5 changes: 5 additions & 0 deletions eng/Publishing.props
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
<Project>
<PropertyGroup>
<PublishingVersion>3</PublishingVersion>
</PropertyGroup>
</Project>
25 changes: 7 additions & 18 deletions eng/Signing.props
Original file line number Diff line number Diff line change
@@ -1,21 +1,10 @@
<Project>
<ItemGroup Condition="'$(SignBinaries)' == 'true'">
<ItemsToSign Remove="@(ItemsToSign)" />
<ItemsToSign Include="$(ArtifactsDir)pkgassets\**\*.dll" />
<FileExtensionSignInfo Include="*.dll" CertificateName="MicrosoftDotNet500" />
</ItemGroup>
<ItemGroup Condition="'$(SignNugetPackages)' == 'true'">
<ItemsToSign Remove="@(ItemsToSign)" />
<ItemsToSign Include="$(ArtifactsDir)packages\**\*.nupkg" />
<ItemsToSign Include="$(ArtifactsDir)packages\**\*.snupkg" />
<FileExtensionSignInfo Include="*.nupkg" CertificateName="NuGet" />
<FileExtensionSignInfo Include="*.snupkg" CertificateName="NuGet" />
</ItemGroup>
<ItemGroup>
<ItemsToSign Include="$(ArtifactsPackagesDir)**\*.snupkg" />
<FileExtensionSignInfo Include="*.snupkg" CertificateName="NuGet" />
</ItemGroup>

<!-- Since this repo isn't on Arcade 6, the UseDotNetCertificate optionis not available. Do the update here instead. -->
<ItemGroup>
<FileExtensionSignInfo Update="@(FileExtensionSignInfo->WithMetadataValue('CertificateName','Microsoft400'))" CertificateName="MicrosoftDotNet500" />
<StrongNameSignInfo Update="@(StrongNameSignInfo->WithMetadataValue('CertificateName','Microsoft400'))" CertificateName="MicrosoftDotNet500" />
<FileSignInfo Update="@(FileSignInfo->WithMetadataValue('CertificateName','Microsoft400'))" CertificateName="MicrosoftDotNet500" />
</ItemGroup>
<PropertyGroup>
<UseDotNetCertificate>true</UseDotNetCertificate>
</PropertyGroup>
</Project>
17 changes: 17 additions & 0 deletions eng/common-variables.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
variables:
- group: SDL_Settings
- name: BuildConfig
value: Release
- name: OfficialBuildId
value: $(BUILD.BUILDNUMBER)
- name: DOTNET_CLI_TELEMETRY_OPTOUT
value: 1
- name: DOTNET_SKIP_FIRST_TIME_EXPERIENCE
value: 1
- name: DOTNET_MULTILEVEL_LOOKUP
value: 0
- name: Codeql.Enabled
value: true
- name: Codeql.SkipTaskAutoInjection
value: True #default to not inject CodeQL tasks, we'll enable it in a single job.

2 changes: 1 addition & 1 deletion global.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
"msbuild-sdks": {
"Microsoft.DotNet.Arcade.Sdk": "7.0.0-beta.22514.3",
"Microsoft.DotNet.Helix.Sdk": "7.0.0-beta.22514.3",
"Microsoft.Build.Traversal": "2.1.1",
"Microsoft.Build.Traversal": "3.2.0",
"Microsoft.SourceLink.GitHub": "1.1.0-beta-20206-02",
"Microsoft.SourceLink.Common": "1.1.0-beta-20206-02"
}
Expand Down
3 changes: 0 additions & 3 deletions sign.cmd

This file was deleted.

1 change: 0 additions & 1 deletion src/Microsoft.ML.Mkl.Redist/Microsoft.ML.Mkl.Redist.csproj
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
<Project Sdk="Microsoft.NET.Sdk">
<Import Project="$(RepoRoot)eng/pkg/Pack.props" />
<PropertyGroup>
<Authors>Intel</Authors>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Intel

I assume this is ok and no concern removing it.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It was wrong for us to claim Intel is the Author of the package. The gallery doesn't even present it to our users.
https://www.nuget.org/packages/Microsoft.ML.Mkl.Redist/2.0.0-preview.22313.1
image
We are the ones who build this package and binary, it's a custom linked copy of MKL. The package itself has the Intel license.

<TargetFrameworks>netstandard2.0</TargetFrameworks>
<IncludeBuildOutput Condition="'$(TargetFramework)' == 'netstandard2.0'">false</IncludeBuildOutput>
<PackageLicenseFile>LICENSE.txt</PackageLicenseFile>
Expand Down
4 changes: 3 additions & 1 deletion src/Native/Native.proj
Original file line number Diff line number Diff line change
Expand Up @@ -143,8 +143,10 @@
</Target>

<Target Name="Pack" />
<Target Name="Restore" />
<Target Name="Test" />

<ItemGroup>
<PackageDownload Include="MlNetMklDeps" Version="[$(MlNetMklDepsVersion)]" />
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[

interesting, does the version included inside brackets?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, PackageDownload requires explicit version references. https://learn.microsoft.com/en-us/nuget/consume-packages/packagedownload-functionality

</ItemGroup>

</Project>