Update dependencies from https://github.com/dotnet/arcade build 20200922.36 (#8705)
[master] Update dependencies from dotnet/arcade
This commit is contained in:
parent
e55929c5a5
commit
0b940dce99
7 changed files with 185 additions and 6 deletions
|
@ -98,13 +98,13 @@
|
||||||
</Dependency>
|
</Dependency>
|
||||||
</ProductDependencies>
|
</ProductDependencies>
|
||||||
<ToolsetDependencies>
|
<ToolsetDependencies>
|
||||||
<Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="5.0.0-beta.20471.1">
|
<Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="5.0.0-beta.20472.36">
|
||||||
<Uri>https://github.com/dotnet/arcade</Uri>
|
<Uri>https://github.com/dotnet/arcade</Uri>
|
||||||
<Sha>0365488709f58e37de6c2180e7fb243203ca0a9c</Sha>
|
<Sha>06ad7cf82dbf56b3facf8a7d3a00944f5116663d</Sha>
|
||||||
</Dependency>
|
</Dependency>
|
||||||
<Dependency Name="Microsoft.DotNet.Build.Tasks.Installers" Version="5.0.0-beta.20471.1">
|
<Dependency Name="Microsoft.DotNet.Build.Tasks.Installers" Version="5.0.0-beta.20472.36">
|
||||||
<Uri>https://github.com/dotnet/arcade</Uri>
|
<Uri>https://github.com/dotnet/arcade</Uri>
|
||||||
<Sha>0365488709f58e37de6c2180e7fb243203ca0a9c</Sha>
|
<Sha>06ad7cf82dbf56b3facf8a7d3a00944f5116663d</Sha>
|
||||||
</Dependency>
|
</Dependency>
|
||||||
</ToolsetDependencies>
|
</ToolsetDependencies>
|
||||||
</Dependencies>
|
</Dependencies>
|
||||||
|
|
|
@ -17,7 +17,7 @@
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<!-- Dependency from https://github.com/dotnet/arcade -->
|
<!-- Dependency from https://github.com/dotnet/arcade -->
|
||||||
<MicrosoftDotNetBuildTasksInstallersPackageVersion>5.0.0-beta.20471.1</MicrosoftDotNetBuildTasksInstallersPackageVersion>
|
<MicrosoftDotNetBuildTasksInstallersPackageVersion>5.0.0-beta.20472.36</MicrosoftDotNetBuildTasksInstallersPackageVersion>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<!-- Dependency from https://github.com/dotnet/winforms -->
|
<!-- Dependency from https://github.com/dotnet/winforms -->
|
||||||
|
|
49
eng/common/templates/job/source-build.yml
Normal file
49
eng/common/templates/job/source-build.yml
Normal file
|
@ -0,0 +1,49 @@
|
||||||
|
parameters:
|
||||||
|
# This template adds arcade-powered source-build to CI. The template produces a server job with a
|
||||||
|
# default ID 'Source_Build_Complete' to put in a dependency list if necessary.
|
||||||
|
|
||||||
|
# Specifies the prefix for source-build jobs added to pipeline. Use this if disambiguation needed.
|
||||||
|
jobNamePrefix: 'Source_Build'
|
||||||
|
|
||||||
|
# Defines the platform on which to run the job. By default, a linux-x64 machine, suitable for
|
||||||
|
# managed-only repositories. This is an object with these properties:
|
||||||
|
#
|
||||||
|
# name: ''
|
||||||
|
# The name of the job. This is included in the job ID.
|
||||||
|
# targetRID: ''
|
||||||
|
# The name of the target RID to use, instead of the one auto-detected by Arcade.
|
||||||
|
# nonPortable: false
|
||||||
|
# Enables non-portable mode. This means a more specific RID (e.g. fedora.32-x64 rather than
|
||||||
|
# linux-x64), and compiling against distro-provided packages rather than portable ones.
|
||||||
|
# container: ''
|
||||||
|
# A container to use. Runs in docker.
|
||||||
|
# pool: {}
|
||||||
|
# A pool to use. Runs directly on an agent.
|
||||||
|
# buildScript: ''
|
||||||
|
# Specifies the build script to invoke to perform the build in the repo. The default
|
||||||
|
# './build.sh' should work for typical Arcade repositories, but this is customizable for
|
||||||
|
# difficult situations.
|
||||||
|
# jobProperties: {}
|
||||||
|
# A list of job properties to inject at the top level, for potential extensibility beyond
|
||||||
|
# container and pool.
|
||||||
|
platform: {}
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
- job: ${{ parameters.jobNamePrefix }}_${{ parameters.platform.name }}
|
||||||
|
displayName: Source-Build (${{ parameters.platform.name }})
|
||||||
|
|
||||||
|
${{ each property in parameters.platform.jobProperties }}:
|
||||||
|
${{ property.key }}: ${{ property.value }}
|
||||||
|
|
||||||
|
${{ if ne(parameters.platform.container, '') }}:
|
||||||
|
container: ${{ parameters.platform.container }}
|
||||||
|
${{ if ne(parameters.platform.pool, '') }}:
|
||||||
|
pool: ${{ parameters.platform.pool }}
|
||||||
|
|
||||||
|
workspace:
|
||||||
|
clean: all
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- template: /eng/common/templates/steps/source-build.yml
|
||||||
|
parameters:
|
||||||
|
platform: ${{ parameters.platform }}
|
|
@ -24,6 +24,13 @@ parameters:
|
||||||
# if 'true', the build won't run any of the internal only steps, even if it is running in non-public projects.
|
# if 'true', the build won't run any of the internal only steps, even if it is running in non-public projects.
|
||||||
runAsPublic: false
|
runAsPublic: false
|
||||||
|
|
||||||
|
# Optional: Enable running the source-build jobs to build repo from source
|
||||||
|
runSourceBuild: false
|
||||||
|
|
||||||
|
# Optional: Parameters for source-build template.
|
||||||
|
# See /eng/common/templates/jobs/source-build.yml for options
|
||||||
|
sourceBuildParameters: []
|
||||||
|
|
||||||
# Internal resources (telemetry, microbuild) can only be accessed from non-public projects,
|
# Internal resources (telemetry, microbuild) can only be accessed from non-public projects,
|
||||||
# and some (Microbuild) should only be applied to non-PR cases for internal builds.
|
# and some (Microbuild) should only be applied to non-PR cases for internal builds.
|
||||||
|
|
||||||
|
@ -43,6 +50,13 @@ jobs:
|
||||||
|
|
||||||
name: ${{ job.job }}
|
name: ${{ job.job }}
|
||||||
|
|
||||||
|
- ${{ if eq(parameters.runSourceBuild, true) }}:
|
||||||
|
- template: /eng/common/templates/jobs/source-build.yml
|
||||||
|
parameters:
|
||||||
|
allCompletedJobId: Source_Build_Complete
|
||||||
|
${{ each parameter in parameters.sourceBuildParameters }}:
|
||||||
|
${{ parameter.key }}: ${{ parameter.value }}
|
||||||
|
|
||||||
- ${{ if and(eq(parameters.runAsPublic, 'false'), ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
|
- ${{ if and(eq(parameters.runAsPublic, 'false'), ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
|
||||||
- ${{ if or(eq(parameters.enablePublishBuildAssets, true), eq(parameters.artifacts.publish.manifests, 'true'), ne(parameters.artifacts.publish.manifests, '')) }}:
|
- ${{ if or(eq(parameters.enablePublishBuildAssets, true), eq(parameters.artifacts.publish.manifests, 'true'), ne(parameters.artifacts.publish.manifests, '')) }}:
|
||||||
- template: ../job/publish-build-assets.yml
|
- template: ../job/publish-build-assets.yml
|
||||||
|
@ -55,6 +69,8 @@ jobs:
|
||||||
- ${{ if eq(parameters.publishBuildAssetsDependsOn, '') }}:
|
- ${{ if eq(parameters.publishBuildAssetsDependsOn, '') }}:
|
||||||
- ${{ each job in parameters.jobs }}:
|
- ${{ each job in parameters.jobs }}:
|
||||||
- ${{ job.job }}
|
- ${{ job.job }}
|
||||||
|
- ${{ if eq(parameters.runSourceBuild, true) }}:
|
||||||
|
- Source_Build_Complete
|
||||||
pool:
|
pool:
|
||||||
vmImage: vs2017-win2016
|
vmImage: vs2017-win2016
|
||||||
runAsPublic: ${{ parameters.runAsPublic }}
|
runAsPublic: ${{ parameters.runAsPublic }}
|
||||||
|
|
48
eng/common/templates/jobs/source-build.yml
Normal file
48
eng/common/templates/jobs/source-build.yml
Normal file
|
@ -0,0 +1,48 @@
|
||||||
|
parameters:
|
||||||
|
# This template adds arcade-powered source-build to CI. A job is created for each platform, as
|
||||||
|
# well as an optional server job that completes when all platform jobs complete.
|
||||||
|
|
||||||
|
# The name of the "join" job for all source-build platforms. If set to empty string, the job is
|
||||||
|
# not included. Existing repo pipelines can use this job depend on all source-build jobs
|
||||||
|
# completing without maintaining a separate list of every single job ID: just depend on this one
|
||||||
|
# server job. By default, not included. Recommended name if used: 'Source_Build_Complete'.
|
||||||
|
allCompletedJobId: ''
|
||||||
|
|
||||||
|
# See /eng/common/templates/job/source-build.yml
|
||||||
|
jobNamePrefix: 'Source_Build'
|
||||||
|
|
||||||
|
# If changed to true, causes this template to include the default platform for a managed-only
|
||||||
|
# repo. The exact Docker image used for this build will be provided by Arcade. This has some risk,
|
||||||
|
# but since the repo is supposed to be managed-only, the risk should be very low.
|
||||||
|
includeDefaultManagedPlatform: false
|
||||||
|
defaultManagedPlatform:
|
||||||
|
name: 'Managed'
|
||||||
|
container: 'mcr.microsoft.com/dotnet-buildtools/prereqs:centos-7-3e800f1-20190501005343'
|
||||||
|
|
||||||
|
# Defines the platforms on which to run build jobs. One job is created for each platform, and the
|
||||||
|
# object in this array is sent to the job template as 'platform'.
|
||||||
|
platforms: []
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
|
||||||
|
- ${{ if ne(parameters.allCompletedJobId, '') }}:
|
||||||
|
- job: ${{ parameters.allCompletedJobId }}
|
||||||
|
displayName: Source-Build Complete
|
||||||
|
pool: server
|
||||||
|
dependsOn:
|
||||||
|
- ${{ each platform in parameters.platforms }}:
|
||||||
|
- ${{ parameters.jobNamePrefix }}_${{ platform.name }}
|
||||||
|
- ${{ if eq(parameters.includeDefaultManagedPlatform, true) }}:
|
||||||
|
- ${{ parameters.jobNamePrefix }}_${{ parameters.defaultManagedPlatform.name }}
|
||||||
|
|
||||||
|
- ${{ each platform in parameters.platforms }}:
|
||||||
|
- template: /eng/common/templates/job/source-build.yml
|
||||||
|
parameters:
|
||||||
|
jobNamePrefix: ${{ parameters.jobNamePrefix }}
|
||||||
|
platform: ${{ platform }}
|
||||||
|
|
||||||
|
- ${{ if eq(parameters.includeDefaultManagedPlatform, true) }}:
|
||||||
|
- template: /eng/common/templates/job/source-build.yml
|
||||||
|
parameters:
|
||||||
|
jobNamePrefix: ${{ parameters.jobNamePrefix }}
|
||||||
|
platform: ${{ parameters.defaultManagedPlatform }}
|
66
eng/common/templates/steps/source-build.yml
Normal file
66
eng/common/templates/steps/source-build.yml
Normal file
|
@ -0,0 +1,66 @@
|
||||||
|
parameters:
|
||||||
|
# This template adds arcade-powered source-build to CI.
|
||||||
|
|
||||||
|
# This is a 'steps' template, and is intended for advanced scenarios where the existing build
|
||||||
|
# infra has a careful build methodology that must be followed. For example, a repo
|
||||||
|
# (dotnet/runtime) might choose to clone the GitHub repo only once and store it as a pipeline
|
||||||
|
# artifact for all subsequent jobs to use, to reduce dependence on a strong network connection to
|
||||||
|
# GitHub. Using this steps template leaves room for that infra to be included.
|
||||||
|
|
||||||
|
# Defines the platform on which to run the steps. See 'eng/common/templates/job/source-build.yml'
|
||||||
|
# for details. The entire object is described in the 'job' template for simplicity, even though
|
||||||
|
# the usage of the properties on this object is split between the 'job' and 'steps' templates.
|
||||||
|
platform: {}
|
||||||
|
|
||||||
|
steps:
|
||||||
|
# Build. Keep it self-contained for simple reusability. (No source-build-specific job variables.)
|
||||||
|
- script: |
|
||||||
|
set -x
|
||||||
|
df -h
|
||||||
|
|
||||||
|
buildConfig=Release
|
||||||
|
# Check if AzDO substitutes in a build config from a variable, and use it if so.
|
||||||
|
if [ '$(_BuildConfig)' != '$''(_BuildConfig)' ]; then
|
||||||
|
buildConfig='$(_BuildConfig)'
|
||||||
|
fi
|
||||||
|
|
||||||
|
officialBuildArgs=
|
||||||
|
if [ '${{ and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}' = 'True' ]; then
|
||||||
|
officialBuildArgs='/p:DotNetPublishUsingPipelines=true /p:OfficialBuildId=$(BUILD.BUILDNUMBER)'
|
||||||
|
fi
|
||||||
|
|
||||||
|
targetRidArgs=
|
||||||
|
if [ '${{ parameters.platform.targetRID }}' != '' ]; then
|
||||||
|
targetRidArgs='/p:TargetRid=${{ parameters.platform.targetRID }}'
|
||||||
|
fi
|
||||||
|
|
||||||
|
${{ coalesce(parameters.platform.buildScript, './build.sh') }} --ci \
|
||||||
|
--configuration $buildConfig \
|
||||||
|
--restore --build --pack --publish \
|
||||||
|
$officialBuildArgs \
|
||||||
|
$targetRidArgs \
|
||||||
|
/p:SourceBuildNonPortable=${{ parameters.platform.nonPortable }} \
|
||||||
|
/p:ArcadeBuildFromSource=true
|
||||||
|
displayName: Build
|
||||||
|
|
||||||
|
# Upload build logs for diagnosis.
|
||||||
|
- task: CopyFiles@2
|
||||||
|
displayName: Prepare BuildLogs staging directory
|
||||||
|
inputs:
|
||||||
|
SourceFolder: '$(Build.SourcesDirectory)'
|
||||||
|
Contents: |
|
||||||
|
**/*.log
|
||||||
|
**/*.binlog
|
||||||
|
artifacts/source-build/self/prebuilt-report/**
|
||||||
|
TargetFolder: '$(Build.StagingDirectory)/BuildLogs'
|
||||||
|
CleanTargetFolder: true
|
||||||
|
continueOnError: true
|
||||||
|
condition: succeededOrFailed()
|
||||||
|
|
||||||
|
- task: PublishPipelineArtifact@1
|
||||||
|
displayName: Publish BuildLogs
|
||||||
|
inputs:
|
||||||
|
targetPath: '$(Build.StagingDirectory)/BuildLogs'
|
||||||
|
artifactName: BuildLogs_SourceBuild_${{ parameters.platform.name }}_Attempt$(System.JobAttempt)
|
||||||
|
continueOnError: true
|
||||||
|
condition: succeededOrFailed()
|
|
@ -8,6 +8,6 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"msbuild-sdks": {
|
"msbuild-sdks": {
|
||||||
"Microsoft.DotNet.Arcade.Sdk": "5.0.0-beta.20471.1"
|
"Microsoft.DotNet.Arcade.Sdk": "5.0.0-beta.20472.36"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue