diff --git a/build/vsts-ci.yml b/build/vsts-ci.yml index 73a0cc1dbd..f768a11bf7 100644 --- a/build/vsts-ci.yml +++ b/build/vsts-ci.yml @@ -12,356 +12,267 @@ resources: - container: UbuntuCrossArm64Container image: mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-18.04-mlnet-cross-arm64 - variables: - BuildConfig: Release - OfficialBuildId: $(BUILD.BUILDNUMBER) - DOTNET_CLI_TELEMETRY_OPTOUT: 1 - DOTNET_SKIP_FIRST_TIME_EXPERIENCE: 1 - DOTNET_MULTILEVEL_LOOKUP: 0 - Codeql.Enabled: true - Codeql.SkipTaskAutoInjection: True #default to not inject CodeQL tasks, we'll enable it in a single job. - -jobs: -################################################################################ -- job: Linux_x64 -################################################################################ - pool: - name: NetCore1ESPool-Internal - demands: ImageOverride -equals Build.Ubuntu.1804.Amd64 - container: CentosContainer - steps: - - script: ./restore.sh - displayName: restore all projects - - script: ./build.sh -configuration $(BuildConfig) /p:CopyPackageAssets=true /p:SkipRIDAgnosticAssets=true -projects $(Build.SourcesDirectory)/src/Redist/Microsoft.ML.DnnImageFeaturizer.ModelRedist/Microsoft.ML.DnnImageFeaturizer.ModelRedist.proj - displayName: build redist - # Only build native assets to avoid conflicts. - - script: ./build.sh -configuration $(BuildConfig) -projects $(Build.SourcesDirectory)/src/Native/Native.proj /p:TargetArchitecture=x64 /p:CopyPackageAssets=true - displayName: Build Native Assets - - - task: PublishBuildArtifacts@1 - displayName: Publish Linux package assets - inputs: - pathToPublish: $(Build.SourcesDirectory)/artifacts/pkgassets - artifactName: PackageAssets - artifactType: container - - - template: /eng/common/templates/steps/generate-sbom.yml - -################################################################################ -- job: Linux_arm -################################################################################ - variables: - ROOTFS_DIR: '/crossrootfs/arm' - pool: - name: NetCore1ESPool-Internal - demands: ImageOverride -equals Build.Ubuntu.1804.Amd64 - container: UbuntuCrossArmContainer - steps: - - script: ./restore.sh - displayName: restore all projects - - script: ./build.sh -configuration $(BuildConfig) /p:CopyPackageAssets=true /p:SkipRIDAgnosticAssets=true -projects $(Build.SourcesDirectory)/src/Redist/Microsoft.ML.DnnImageFeaturizer.ModelRedist/Microsoft.ML.DnnImageFeaturizer.ModelRedist.proj - displayName: build redist - # Only build native assets to avoid conflicts. - - script: ./build.sh -configuration $(BuildConfig) -projects $(Build.SourcesDirectory)/src/Native/Native.proj /p:TargetArchitecture=arm /p:CopyPackageAssets=true - displayName: Build Native Assets - - - task: PublishBuildArtifacts@1 - displayName: Publish Linux package assets - inputs: - pathToPublish: $(Build.SourcesDirectory)/artifacts/pkgassets - artifactName: PackageAssets - artifactType: container - - - template: /eng/common/templates/steps/generate-sbom.yml - -################################################################################ -- job: Linux_arm64 -################################################################################ - variables: - ROOTFS_DIR: '/crossrootfs/arm64' - pool: - name: NetCore1ESPool-Internal - demands: ImageOverride -equals Build.Ubuntu.1804.Amd64 - container: UbuntuCrossArm64Container - steps: - - script: ./restore.sh - displayName: restore all projects - - script: ./build.sh -configuration $(BuildConfig) /p:CopyPackageAssets=true /p:SkipRIDAgnosticAssets=true -projects $(Build.SourcesDirectory)/src/Redist/Microsoft.ML.DnnImageFeaturizer.ModelRedist/Microsoft.ML.DnnImageFeaturizer.ModelRedist.proj - displayName: build redist - # Only build native assets to avoid conflicts. - - script: ./build.sh -configuration $(BuildConfig) -projects $(Build.SourcesDirectory)/src/Native/Native.proj /p:TargetArchitecture=arm64 /p:CopyPackageAssets=true - displayName: Build Native Assets - - - task: PublishBuildArtifacts@1 - displayName: Publish Linux package assets - inputs: - pathToPublish: $(Build.SourcesDirectory)/artifacts/pkgassets - artifactName: PackageAssets - artifactType: container - - - template: /eng/common/templates/steps/generate-sbom.yml - -################################################################################ -- job: MacOS -################################################################################ - pool: - vmImage: macOS-12 - steps: - - script: brew update && brew unlink python@3.8 && brew unlink libomp && brew install $(Build.SourcesDirectory)/build/libomp.rb --build-from-source --formula - displayName: Install build dependencies - - script: ./restore.sh - displayName: restore all projects - - script: ./build.sh -configuration $(BuildConfig) /p:CopyPackageAssets=true /p:SkipRIDAgnosticAssets=true -projects $(Build.SourcesDirectory)/src/Redist/Microsoft.ML.DnnImageFeaturizer.ModelRedist/Microsoft.ML.DnnImageFeaturizer.ModelRedist.proj - displayName: build redist - # Only build native assets to avoid conflicts. - - script: ./build.sh -projects $(Build.SourcesDirectory)/src/Native/Native.proj -configuration $(BuildConfig) /p:TargetArchitecture=x64 /p:CopyPackageAssets=true - displayName: Build Native Assets - - - task: PublishBuildArtifacts@1 - displayName: Publish macOS package assets - inputs: - pathToPublish: $(Build.SourcesDirectory)/artifacts/pkgassets - artifactName: PackageAssets - artifactType: container - - - template: /eng/common/templates/steps/generate-sbom.yml - -################################################################################ -- job: MacOS_Apple_Silicon -################################################################################ - pool: - vmImage: macOS-12 - steps: - # Work around MacOS Homebrew image/environment bug: https://github.com/actions/virtual-environments/issues/2322#issuecomment-749211076 - - script: | - rm -rf /usr/local/bin/2to3 - displayName: MacOS Homebrew bug Workaround - continueOnError: true - - script: brew update && brew unlink python@3.8 && brew install libomp && brew link libomp --force - displayName: Install build dependencies - - script: ./restore.sh - displayName: restore all projects - - script: ./build.sh -configuration $(BuildConfig) /p:CopyPackageAssets=true /p:SkipRIDAgnosticAssets=true -projects $(Build.SourcesDirectory)/src/Redist/Microsoft.ML.DnnImageFeaturizer.ModelRedist/Microsoft.ML.DnnImageFeaturizer.ModelRedist.proj - displayName: build redist - # Only build native assets to avoid conflicts. - - script: ./build.sh -projects $(Build.SourcesDirectory)/src/Native/Native.proj -configuration $(BuildConfig) /p:TargetArchitecture=arm64 /p:CopyPackageAssets=true - displayName: Build Native Assets - - - task: PublishBuildArtifacts@1 - displayName: Publish macOS package assets - inputs: - pathToPublish: $(Build.SourcesDirectory)/artifacts/pkgassets - artifactName: PackageAssets - artifactType: container - - - template: /eng/common/templates/steps/generate-sbom.yml - -################################################################################ -- job: Windows_x86 -################################################################################ - variables: - _SignType: real - _UseEsrpSigning: true - _TeamName: DotNetCore - pool: - name: NetCore1ESPool-Internal - demands: ImageOverride -equals Build.Server.Amd64.VS2019 - steps: - - - task: ms-vseng.MicroBuildTasks.30666190-6959-11e5-9f96-f56098202fef.MicroBuildSigningPlugin@4 - displayName: Install MicroBuild Signing Plugin - inputs: - signType: '$(_SignType)' - zipSources: false - esrpSigning: '$(_UseEsrpSigning)' - feedSource: 'https://dnceng.pkgs.visualstudio.com/DefaultCollection/_packaging/MicroBuildToolset/nuget/v3/index.json' - env: - TeamName: $(_TeamName) - continueOnError: false - condition: and(succeeded(), in(variables._SignType, 'real', 'test')) - - - script: ./restore.cmd - displayName: restore all projects - - script: ./build.cmd -configuration $(BuildConfig) /p:CopyPackageAssets=true /p:SkipRIDAgnosticAssets=true -projects $(Build.SourcesDirectory)/src/Redist/Microsoft.ML.DnnImageFeaturizer.ModelRedist/Microsoft.ML.DnnImageFeaturizer.ModelRedist.proj - displayName: build redist - # Only build native assets to avoid conflicts. - - script: ./build.cmd -projects $(Build.SourcesDirectory)/src/Native/Native.proj -configuration $(BuildConfig) /p:TargetArchitecture=x86 /p:CopyPackageAssets=true - displayName: Build Native Assets - - - script: ./sign.cmd -configuration $(BuildConfig) /p:TargetArchitecture=x86 /p:SignBinaries=true - displayName: sign binaries - - - task: PublishBuildArtifacts@1 - displayName: Publish Windows_x86 package assets - inputs: - pathToPublish: $(Build.SourcesDirectory)/artifacts/pkgassets - artifactName: PackageAssets - artifactType: container - - - template: /eng/common/templates/steps/generate-sbom.yml - - # Terminate all dotnet build processes. - - script: $(Build.SourcesDirectory)/.dotnet/dotnet.exe build-server shutdown - displayName: Dotnet Server Shutdown - -################################################################################ -- job: Windows_x64 -################################################################################ - variables: - Codeql.SkipTaskAutoInjection: False # run CodeQL in this job - _SignType: real - _UseEsrpSigning: true - _TeamName: DotNetCore - pool: - name: NetCore1ESPool-Internal - demands: ImageOverride -equals Build.Server.Amd64.VS2019 - steps: - - - task: ms-vseng.MicroBuildTasks.30666190-6959-11e5-9f96-f56098202fef.MicroBuildSigningPlugin@4 - displayName: Install MicroBuild Signing Plugin - inputs: - signType: '$(_SignType)' - zipSources: false - esrpSigning: '$(_UseEsrpSigning)' - feedSource: 'https://dnceng.pkgs.visualstudio.com/DefaultCollection/_packaging/MicroBuildToolset/nuget/v3/index.json' - env: - TeamName: $(_TeamName) - continueOnError: false - condition: and(succeeded(), in(variables._SignType, 'real', 'test')) - - # Build both native and managed assets. - - script: ./build.cmd -configuration $(BuildConfig) /p:TargetArchitecture=x64 /p:CopyPackageAssets=true - displayName: Build - - - task: ComponentGovernanceComponentDetection@0 - inputs: - scanType: 'Register' - verbosity: 'Verbose' - alertWarningLevel: 'High' - - - - script: ./sign.cmd -configuration $(BuildConfig) /p:TargetArchitecture=x64 /p:SignBinaries=true - displayName: sign binaries - - - task: PublishBuildArtifacts@1 - displayName: Publish Windows_x64 package assets - inputs: - pathToPublish: $(Build.SourcesDirectory)/artifacts/pkgassets - artifactName: PackageAssets - artifactType: container - - - template: /eng/common/templates/steps/generate-sbom.yml - - # Terminate all dotnet build processes. - - script: $(Build.SourcesDirectory)/.dotnet/dotnet.exe build-server shutdown - displayName: Dotnet Server Shutdown - -################################################################################ -- job: Package -################################################################################ - dependsOn: - - Linux_x64 - - Linux_arm - - Linux_arm64 - - MacOS - - Windows_x86 - - Windows_x64 - - MacOS_Apple_Silicon - variables: - DotnetVersionKind: $[variables.VERSIONKIND] # If no "VERSIONKIND" variable is set when queuing the publishing task, this defaults to empty string. - NUGET_PACKAGES: $(Build.SourcesDirectory)/.packages - _SignType: real - _UseEsrpSigning: true - _TeamName: DotNetCore - _AzureDevopsFeedUrl: https://pkgs.dev.azure.com/dnceng/public/_packaging/MachineLearning/nuget/v3/index.json - _SymwebSymbolServerPath: https://microsoft.artifacts.visualstudio.com/DefaultCollection - _MsdlSymbolServerPath: https://microsoftpublicsymbols.artifacts.visualstudio.com/DefaultCollection - - # Only enable publishing in non-public, non PR scenarios. - ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}: - # DotNet-Symbol-Server-Pats provides: microsoft-symbol-server-pat symweb-symbol-server-pat - group: DotNet-Symbol-Server-Pats - - pool: - name: NetCore1ESPool-Internal - demands: ImageOverride -equals Build.Server.Amd64.VS2019 - steps: - - # Install MicroBuild plugin - - task: ms-vseng.MicroBuildTasks.30666190-6959-11e5-9f96-f56098202fef.MicroBuildSigningPlugin@4 - displayName: Install MicroBuild Signing Plugin - inputs: - signType: '$(_SignType)' - zipSources: false - esrpSigning: '$(_UseEsrpSigning)' - feedSource: 'https://dnceng.pkgs.visualstudio.com/DefaultCollection/_packaging/MicroBuildToolset/nuget/v3/index.json' - env: - TeamName: $(_TeamName) - continueOnError: false - condition: and(succeeded(), in(variables._SignType, 'real', 'test')) - - # Download all agent packages from all previous phases - - task: DownloadBuildArtifacts@0 - displayName: Download package assets - inputs: - artifactName: PackageAssets - downloadPath: $(Build.SourcesDirectory)/artifacts/pkgassets - - # Workaround https://github.com/Microsoft/vsts-tasks/issues/6739 - - task: CopyFiles@2 - displayName: Copy package assets to correct folder - inputs: - sourceFolder: $(Build.SourcesDirectory)/artifacts/pkgassets/PackageAssets - targetFolder: $(Build.SourcesDirectory)/artifacts/pkgassets - - # Depending on the value of DotNetFinalVersionKind, the name of the package will change. - # For our nightly builds we want it to be empty, and when creating the official nugets, we want it to be "release" - # the value of the version kind is set when queuing the publishing job on AzureDevOps by adding a VERSIONKIND variable - # See more info in: https://github.com/dotnet/arcade/blob/master/Documentation/CorePackages/Versioning.md#package-version - - script: ./build.cmd -configuration $(BuildConfig) -pack -ci /p:OfficialBuildId=$(OfficialBuildId) /p:DotNetFinalVersionKind=$(DotnetVersionKind) - displayName: Build Packages - - - script: ./sign.cmd /p:SignNugetPackages=true - displayName: sign packages - continueOnError: false - - - template: /eng/common/templates/steps/generate-sbom.yml - - # The generated .nupkgs and .snupkgs packages are published to Azure artifacts, - # in case we need to debug them. They're found under Release/Shipping - - task: PublishBuildArtifacts@1 - displayName: Push packages and symbol packages to Azure Artifacts - inputs: - pathToPublish: $(Build.SourcesDirectory)/artifacts/packages - artifactName: PackageAssets - artifactType: container - continueOnError: true - - - task: NuGetCommand@2 - displayName: Push packages to AzureDevOps feed - inputs: - command: push - nuGetFeedType: 'internal' - publishVstsFeed: 'public/MachineLearning' - packagesToPush: $(Build.SourcesDirectory)/artifacts/**/*.nupkg;!$(Build.SourcesDirectory)/artifacts/**/*.snupkg - - - task: MSBuild@1 - displayName: Publish Symbols to SymWeb Symbol Server - inputs: - solution: build/publish.proj - msbuildArguments: /t:PublishSymbolPackages /p:SymbolServerPath=$(_SymwebSymbolServerPath) /p:SymbolServerPAT=$(symweb-symbol-server-pat) - msbuildVersion: 15.0 - continueOnError: true - - - task: MSBuild@1 - displayName: Publish Symbols to Msdl Symbol Server - inputs: - solution: build/publish.proj - msbuildArguments: /t:PublishSymbolPackages /p:SymbolServerPath=$(_MsdlSymbolServerPath) /p:SymbolServerPAT=$(microsoft-symbol-server-pat) - msbuildVersion: 15.0 - continueOnError: true - - # Terminate all dotnet build processes. - - script: $(Build.SourcesDirectory)/.dotnet/dotnet.exe build-server shutdown - displayName: Dotnet Server Shutdown +- template: /eng/common-variables.yml + +stages: +- stage: build + displayName: Build + jobs: + ################################################################################ + - job: Linux_x64 + ################################################################################ + pool: + name: NetCore1ESPool-Internal + demands: ImageOverride -equals Build.Ubuntu.1804.Amd64 + container: CentosContainer + steps: + # Only build native assets to avoid conflicts. + - script: ./build.sh -configuration $(BuildConfig) -projects $(Build.SourcesDirectory)/src/Native/Native.proj /p:TargetArchitecture=x64 /p:CopyPackageAssets=true + displayName: Build Native Assets + + - task: PublishBuildArtifacts@1 + displayName: Publish Linux package assets + inputs: + pathToPublish: $(Build.SourcesDirectory)/artifacts/pkgassets + artifactName: pkgassets + artifactType: container + + - template: /eng/common/templates/steps/generate-sbom.yml + + ################################################################################ + - job: Linux_arm + ################################################################################ + variables: + ROOTFS_DIR: '/crossrootfs/arm' + pool: + name: NetCore1ESPool-Internal + demands: ImageOverride -equals Build.Ubuntu.1804.Amd64 + container: UbuntuCrossArmContainer + steps: + # Only build native assets to avoid conflicts. + - script: ./build.sh -configuration $(BuildConfig) -projects $(Build.SourcesDirectory)/src/Native/Native.proj /p:TargetArchitecture=arm /p:CopyPackageAssets=true + displayName: Build Native Assets + + - task: PublishBuildArtifacts@1 + displayName: Publish Linux package assets + inputs: + pathToPublish: $(Build.SourcesDirectory)/artifacts/pkgassets + artifactName: pkgassets + artifactType: container + + - template: /eng/common/templates/steps/generate-sbom.yml + + ################################################################################ + - job: Linux_arm64 + ################################################################################ + variables: + ROOTFS_DIR: '/crossrootfs/arm64' + pool: + name: NetCore1ESPool-Internal + demands: ImageOverride -equals Build.Ubuntu.1804.Amd64 + container: UbuntuCrossArm64Container + steps: + # Only build native assets to avoid conflicts. + - script: ./build.sh -configuration $(BuildConfig) -projects $(Build.SourcesDirectory)/src/Native/Native.proj /p:TargetArchitecture=arm64 /p:CopyPackageAssets=true + displayName: Build Native Assets + + - task: PublishBuildArtifacts@1 + displayName: Publish Linux package assets + inputs: + pathToPublish: $(Build.SourcesDirectory)/artifacts/pkgassets + artifactName: pkgassets + artifactType: container + + - template: /eng/common/templates/steps/generate-sbom.yml + + ################################################################################ + - job: MacOS + ################################################################################ + pool: + vmImage: macOS-12 + steps: + - script: brew update && brew unlink python@3.8 && brew unlink libomp && brew install $(Build.SourcesDirectory)/build/libomp.rb --build-from-source --formula + displayName: Install build dependencies + # Only build native assets to avoid conflicts. + - script: ./build.sh -projects $(Build.SourcesDirectory)/src/Native/Native.proj -configuration $(BuildConfig) /p:TargetArchitecture=x64 /p:CopyPackageAssets=true + displayName: Build Native Assets + + - task: PublishBuildArtifacts@1 + displayName: Publish macOS package assets + inputs: + pathToPublish: $(Build.SourcesDirectory)/artifacts/pkgassets + artifactName: pkgassets + artifactType: container + + - template: /eng/common/templates/steps/generate-sbom.yml + + ################################################################################ + - job: MacOS_Apple_Silicon + ################################################################################ + pool: + vmImage: macOS-12 + steps: + # Work around MacOS Homebrew image/environment bug: https://github.com/actions/virtual-environments/issues/2322#issuecomment-749211076 + - script: | + rm -rf /usr/local/bin/2to3 + displayName: MacOS Homebrew bug Workaround + continueOnError: true + - script: brew update && brew unlink python@3.8 && brew install libomp && brew link libomp --force + displayName: Install build dependencies + # Only build native assets to avoid conflicts. + - script: ./build.sh -projects $(Build.SourcesDirectory)/src/Native/Native.proj -configuration $(BuildConfig) /p:TargetArchitecture=arm64 /p:CopyPackageAssets=true + displayName: Build Native Assets + + - task: PublishBuildArtifacts@1 + displayName: Publish macOS package assets + inputs: + pathToPublish: $(Build.SourcesDirectory)/artifacts/pkgassets + artifactName: pkgassets + artifactType: container + + - template: /eng/common/templates/steps/generate-sbom.yml + + ################################################################################ + - job: Windows_x86 + ################################################################################ + variables: + _TeamName: DotNetCore + pool: + name: NetCore1ESPool-Internal + demands: ImageOverride -equals Build.Server.Amd64.VS2019 + steps: + # Only build native assets to avoid conflicts. + - script: ./build.cmd -projects $(Build.SourcesDirectory)/src/Native/Native.proj -configuration $(BuildConfig) /p:TargetArchitecture=x86 /p:CopyPackageAssets=true + displayName: Build Native Assets + + - task: PublishBuildArtifacts@1 + displayName: Publish Windows_x86 package assets + inputs: + pathToPublish: $(Build.SourcesDirectory)/artifacts/pkgassets + artifactName: pkgassets + artifactType: container + + - template: /eng/common/templates/steps/generate-sbom.yml + + # Terminate all dotnet build processes. + - script: $(Build.SourcesDirectory)/.dotnet/dotnet.exe build-server shutdown + displayName: Dotnet Server Shutdown + + ################################################################################ + - job: Windows_x64 + ################################################################################ + variables: + Codeql.SkipTaskAutoInjection: False # run CodeQL in this job + _TeamName: DotNetCore + pool: + name: NetCore1ESPool-Internal + demands: ImageOverride -equals Build.Server.Amd64.VS2019 + steps: + + # Build both native and managed assets. + - script: ./build.cmd -configuration $(BuildConfig) /p:TargetArchitecture=x64 /p:CopyPackageAssets=true + displayName: Build + + - task: ComponentGovernanceComponentDetection@0 + inputs: + scanType: 'Register' + verbosity: 'Verbose' + alertWarningLevel: 'High' + + - task: PublishBuildArtifacts@1 + displayName: Publish Windows_x64 package assets + inputs: + pathToPublish: $(Build.SourcesDirectory)/artifacts/pkgassets + artifactName: pkgassets + artifactType: container + + - template: /eng/common/templates/steps/generate-sbom.yml + + # Terminate all dotnet build processes. + - script: $(Build.SourcesDirectory)/.dotnet/dotnet.exe build-server shutdown + displayName: Dotnet Server Shutdown + + ################################################################################ + - template: /eng/common/templates/job/job.yml + parameters: + name: Package + ################################################################################ + artifacts: + publish: + artifacts: true + logs: true + manifests: true + enableMicrobuild: true + enablePublishUsingPipelines: true + enableSourceIndex: true + dependsOn: + - Linux_x64 + - Linux_arm + - Linux_arm64 + - MacOS + - Windows_x86 + - Windows_x64 + - MacOS_Apple_Silicon + variables: + - DotnetVersionKind: $[variables.VERSIONKIND] # If no "VERSIONKIND" variable is set when queuing the publishing task, this defaults to empty string. + - NUGET_PACKAGES: $(Build.SourcesDirectory)/.packages + - _SignType: real + - _TeamName: DotNetCore + - _InternalBuildArgs: /p:DotNetSignType=$(_SignType) + /p:TeamName=$(_TeamName) + /p:DotNetSymbolServerTokenMsdl=$(microsoft-symbol-server-pat) + /p:DotNetSymbolServerTokenSymWeb=$(symweb-symbol-server-pat) + /p:OfficialBuildId=$(OfficialBuildId) + /p:DotNetPublishUsingPipelines=$true + pool: + name: NetCore1ESPool-Internal + demands: ImageOverride -equals Build.Server.Amd64.VS2019 + steps: + + # Download all agent packages from all previous phases + - task: DownloadBuildArtifacts@0 + displayName: Download package assets + inputs: + artifactName: pkgassets + downloadPath: $(Build.SourcesDirectory)/artifacts + + # Depending on the value of DotNetFinalVersionKind, the name of the package will change. + # For our nightly builds we want it to be empty, and when creating the official nugets, we want it to be "release" + # the value of the version kind is set when queuing the publishing job on AzureDevOps by adding a VERSIONKIND variable + # See more info in: https://github.com/dotnet/arcade/blob/master/Documentation/CorePackages/Versioning.md#package-version + - script: ./build.cmd -configuration $(BuildConfig) -pack -sign -publish -ci /p:DotNetFinalVersionKind=$(DotnetVersionKind) $(_InternalBuildArgs) + displayName: Build Packages + + # Terminate all dotnet build processes. + - script: $(Build.SourcesDirectory)/.dotnet/dotnet.exe build-server shutdown + displayName: Dotnet Server Shutdown + + - template: /eng/common/templates/job/publish-build-assets.yml + parameters: + dependsOn: Package + enablePublishBuildArtifacts: true + publishAssetsImmediately: true + publishUsingPipelines: true + pool: + name: NetCore1ESPool-Svc-Internal + demands: ImageOverride -equals windows.vs2019.amd64 + +- template: /eng/common/templates/post-build/post-build.yml + parameters: + publishingInfraVersion: 3 + # This is to enable SDL runs part of Post-Build Validation Stage + SDLValidationParameters: + enable: true + publishGdn: true + continueOnError: false + params: ' -SourceToolsList @("policheck","credscan") + -TsaInstanceURL $(_TsaInstanceURL) + -TsaProjectName $(_TsaProjectName) + -TsaNotificationEmail $(_TsaNotificationEmail) + -TsaCodebaseAdmin $(_TsaCodebaseAdmin) + -TsaBugAreaPath $(_TsaBugAreaPath) + -TsaIterationPath $(_TsaIterationPath) + -TsaRepositoryName "machinelearning" + -TsaCodebaseName "machinelearning" + -TsaPublish $True' \ No newline at end of file diff --git a/eng/Publishing.props b/eng/Publishing.props new file mode 100644 index 0000000000..e727fcf4bb --- /dev/null +++ b/eng/Publishing.props @@ -0,0 +1,5 @@ + + + 3 + + \ No newline at end of file diff --git a/eng/Signing.props b/eng/Signing.props index 7d99d0d9aa..91b6ee12dd 100644 --- a/eng/Signing.props +++ b/eng/Signing.props @@ -1,21 +1,10 @@ - - - - - - - - - - - - + + + + - - - - - - + + true + \ No newline at end of file diff --git a/eng/common-variables.yml b/eng/common-variables.yml new file mode 100644 index 0000000000..230de17298 --- /dev/null +++ b/eng/common-variables.yml @@ -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. + diff --git a/global.json b/global.json index a721e55d80..31c4897e23 100644 --- a/global.json +++ b/global.json @@ -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" } diff --git a/sign.cmd b/sign.cmd deleted file mode 100644 index 6e75c6d287..0000000000 --- a/sign.cmd +++ /dev/null @@ -1,3 +0,0 @@ -@echo off -powershell -ExecutionPolicy ByPass -NoProfile -command "& """%~dp0eng\common\Build.ps1""" -sign -warnAsError 0 %*" -exit /b %ErrorLevel% \ No newline at end of file diff --git a/src/Microsoft.ML.Mkl.Redist/Microsoft.ML.Mkl.Redist.csproj b/src/Microsoft.ML.Mkl.Redist/Microsoft.ML.Mkl.Redist.csproj index 81e2f16c39..fb0e3f5809 100644 --- a/src/Microsoft.ML.Mkl.Redist/Microsoft.ML.Mkl.Redist.csproj +++ b/src/Microsoft.ML.Mkl.Redist/Microsoft.ML.Mkl.Redist.csproj @@ -1,7 +1,6 @@ - Intel netstandard2.0 false LICENSE.txt diff --git a/src/Native/Native.proj b/src/Native/Native.proj index 92578bb066..8f38769072 100644 --- a/src/Native/Native.proj +++ b/src/Native/Native.proj @@ -143,8 +143,10 @@ - + + +