Skip to content

Commit

Permalink
Enable source-build with Arcade SDK fixes (#692)
Browse files Browse the repository at this point in the history
* Enable source build

* Update dependencies from https://github.com/dotnet/arcade build 20210119.2

Co-authored-by: Tomáš Matoušek <tmat@users.noreply.github.com>
  • Loading branch information
dagood and tmat committed Jan 19, 2021
1 parent 650f955 commit 0f3cb28
Show file tree
Hide file tree
Showing 8 changed files with 32 additions and 22 deletions.
1 change: 1 addition & 0 deletions azure-pipelines.yml
Expand Up @@ -37,6 +37,7 @@ stages:
enablePublishBuildAssets: true
enablePublishUsingPipelines: $(_PublishUsingPipelines)
enableTelemetry: true
enableSourceBuild: true
helixRepo: dotnet/symreader
jobs:
- job: Windows
Expand Down
4 changes: 2 additions & 2 deletions eng/Version.Details.xml
Expand Up @@ -3,9 +3,9 @@
<ProductDependencies>
</ProductDependencies>
<ToolsetDependencies>
<Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="6.0.0-beta.21062.10">
<Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="6.0.0-beta.21069.2">
<Uri>https://github.com/dotnet/arcade</Uri>
<Sha>ff8fec9066eca51a26abf723dd7d92e20926a90e</Sha>
<Sha>ee0a6a7d9acc6f5886ae214b935f3e3d989235e4</Sha>
</Dependency>
<Dependency Name="Microsoft.SourceBuild.Intermediate.source-build-reference-packages" Version="5.0.0-alpha.1.20473.1">
<Uri>https://github.com/dotnet/source-build-reference-packages</Uri>
Expand Down
4 changes: 2 additions & 2 deletions eng/common/post-build/publish-using-darc.ps1
Expand Up @@ -16,8 +16,8 @@ param(

try {
. $PSScriptRoot\post-build-utils.ps1
# Hard coding darc version till the next arcade-services roll out, cos this version has required API changes for darc add-build-to-channel
$darc = Get-Darc "1.1.0-beta.20418.1"

$darc = Get-Darc

$optionalParams = [System.Collections.ArrayList]::new()

Expand Down
8 changes: 8 additions & 0 deletions eng/common/templates/job/source-build.yml
Expand Up @@ -28,6 +28,11 @@ parameters:
# container and pool.
platform: {}

# The default VM host AzDO pool. This should be capable of running Docker containers: almost all
# source-build builds run in Docker, including the default managed platform.
defaultContainerHostPool:
vmImage: ubuntu-20.04

jobs:
- job: ${{ parameters.jobNamePrefix }}_${{ parameters.platform.name }}
displayName: Source-Build (${{ parameters.platform.name }})
Expand All @@ -37,6 +42,9 @@ jobs:

${{ if ne(parameters.platform.container, '') }}:
container: ${{ parameters.platform.container }}

${{ if eq(parameters.platform.pool, '') }}:
pool: ${{ parameters.defaultContainerHostPool }}
${{ if ne(parameters.platform.pool, '') }}:
pool: ${{ parameters.platform.pool }}

Expand Down
20 changes: 10 additions & 10 deletions eng/common/templates/jobs/jobs.yml
Expand Up @@ -7,7 +7,14 @@ parameters:

# Optional: Enable publishing using release pipelines
enablePublishUsingPipelines: false


# Optional: Enable running the source-build jobs to build repo from source
enableSourceBuild: false

# Optional: Parameters for source-build template.
# See /eng/common/templates/jobs/source-build.yml for options
sourceBuildParameters: []

graphFileGeneration:
# Optional: Enable generating the graph files at the end of the build
enabled: false
Expand All @@ -24,13 +31,6 @@ parameters:
# if 'true', the build won't run any of the internal only steps, even if it is running in non-public projects.
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: []

enableSourceIndex: false
sourceIndexParams: {}

Expand All @@ -53,7 +53,7 @@ jobs:

name: ${{ job.job }}

- ${{ if eq(parameters.runSourceBuild, true) }}:
- ${{ if eq(parameters.enableSourceBuild, true) }}:
- template: /eng/common/templates/jobs/source-build.yml
parameters:
allCompletedJobId: Source_Build_Complete
Expand All @@ -80,7 +80,7 @@ jobs:
- ${{ if eq(parameters.publishBuildAssetsDependsOn, '') }}:
- ${{ each job in parameters.jobs }}:
- ${{ job.job }}
- ${{ if eq(parameters.runSourceBuild, true) }}:
- ${{ if eq(parameters.enableSourceBuild, true) }}:
- Source_Build_Complete
pool:
vmImage: vs2017-win2016
Expand Down
12 changes: 5 additions & 7 deletions eng/common/templates/jobs/source-build.yml
Expand Up @@ -11,16 +11,14 @@ parameters:
# 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
# This is the default platform provided by Arcade, intended for use by a managed-only repo.
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'.
# object in this array is sent to the job template as 'platform'. If no platforms are specified,
# one job runs on 'defaultManagedPlatform'.
platforms: []

jobs:
Expand All @@ -32,7 +30,7 @@ jobs:
dependsOn:
- ${{ each platform in parameters.platforms }}:
- ${{ parameters.jobNamePrefix }}_${{ platform.name }}
- ${{ if eq(parameters.includeDefaultManagedPlatform, true) }}:
- ${{ if eq(length(parameters.platforms), 0) }}:
- ${{ parameters.jobNamePrefix }}_${{ parameters.defaultManagedPlatform.name }}

- ${{ each platform in parameters.platforms }}:
Expand All @@ -41,7 +39,7 @@ jobs:
jobNamePrefix: ${{ parameters.jobNamePrefix }}
platform: ${{ platform }}

- ${{ if eq(parameters.includeDefaultManagedPlatform, true) }}:
- ${{ if eq(length(parameters.platforms), 0) }}:
- template: /eng/common/templates/job/source-build.yml
parameters:
jobNamePrefix: ${{ parameters.jobNamePrefix }}
Expand Down
3 changes: 3 additions & 0 deletions eng/common/templates/post-build/post-build.yml
Expand Up @@ -147,6 +147,9 @@ stages:
pipeline: $(AzDOPipelineId)
buildId: $(AzDOBuildId)
artifactName: PackageArtifacts
itemPattern: |
**
!**/Microsoft.SourceBuild.Intermediate.*.nupkg
# This is necessary whenever we want to publish/restore to an AzDO private feed
# Since sdk-task.ps1 tries to restore packages we need to do this authentication here
Expand Down
2 changes: 1 addition & 1 deletion global.json
Expand Up @@ -3,6 +3,6 @@
"dotnet": "5.0.100"
},
"msbuild-sdks": {
"Microsoft.DotNet.Arcade.Sdk": "6.0.0-beta.21062.10"
"Microsoft.DotNet.Arcade.Sdk": "6.0.0-beta.21069.2"
}
}

0 comments on commit 0f3cb28

Please sign in to comment.