Skip to content
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
126 changes: 37 additions & 89 deletions azure-pipelines-PR.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,29 +15,13 @@ trigger:
- main
- release/*

# Run official build every day at midnight, if code has changed since the last run.
schedules:
- cron: "0 0 * * *"
displayName: Daily Official Build
branches:
include:
- main

variables:
- template: /eng/common/templates/variables/pool-providers.yml
- name: _TeamName
value: Roslyn

stages:
- stage: build
displayName: Build
jobs:
- ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest'), eq(variables['Build.SourceBranch'], 'refs/heads/main')) }}:
- template: /eng/common/templates/job/onelocbuild.yml
parameters:
MirrorRepo: sourcelink
LclSource: lclFilesfromPackage
LclPackageId: 'LCL-JUNO-PROD-SOURCELINK'
- template: /eng/common/templates/jobs/jobs.yml
parameters:
enableMicrobuild: true
Expand All @@ -47,49 +31,21 @@ stages:
enablePublishUsingPipelines: true
enableTelemetry: true
enableSourceBuild: true
helixRepo: dotnet/symreader
helixRepo: dotnet/sourcelink
jobs:
- job: Windows
pool:
${{ if or(eq(variables['System.TeamProject'], 'public'), in(variables['Build.Reason'], 'PullRequest')) }}:
vmImage: 'windows-latest'
${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
name: $(DncEngInternalBuildPool)
demands: ImageOverride -equals 1es-windows-2022
variables:
# Only enable publishing in official builds
- ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
# Publish-Build-Assets provides: MaestroAccessToken, BotAccount-dotnet-maestro-bot-PAT
- group: Publish-Build-Assets
- name: _OfficialBuildArgs
value: /p:DotNetSignType=$(_SignType)
/p:DotNetPublishUsingPipelines=true
/p:TeamName=$(_TeamName)
/p:OfficialBuildId=$(BUILD.BUILDNUMBER)
# else
- ${{ if or(eq(variables['System.TeamProject'], 'public'), in(variables['Build.Reason'], 'PullRequest')) }}:
- name: _OfficialBuildArgs
value: ''
vmImage: 'windows-latest'
strategy:
matrix:
${{ if or(eq(variables['System.TeamProject'], 'public'), in(variables['Build.Reason'], 'PullRequest')) }}:
Debug:
_BuildConfig: Debug
_SignType: test
_BuildArgs: ''
Debug:
_BuildConfig: Debug
_SignType: test
Release:
_BuildConfig: Release
# PRs or external builds are not signed.
${{ if or(eq(variables['System.TeamProject'], 'public'), in(variables['Build.Reason'], 'PullRequest')) }}:
_SignType: test
_BuildArgs: ''
${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
_SignType: real
_BuildArgs: $(_OfficialBuildArgs)
_SignType: test
steps:
- checkout: self
clean: true
- script: eng\cibuild.cmd -configuration $(_BuildConfig) -prepareMachine $(_BuildArgs)
- script: eng\CIBuild.cmd -configuration $(_BuildConfig) -prepareMachine
displayName: Build and Test

# Archive NuGet packages to DevOps (workaround for https://github.com/dotnet/arcade/issues/4444)
Expand All @@ -100,42 +56,34 @@ stages:
ArtifactName: 'Packages'
condition: succeeded()

- ${{ if or(eq(variables['System.TeamProject'], 'public'), in(variables['Build.Reason'], 'PullRequest')) }}:
- job: MacOS
displayName: 'MacOS'
pool:
vmImage: 'macOS-latest'
strategy:
matrix:
Debug:
_BuildConfig: Debug
_SignType: none
Release:
_BuildConfig: Release
_SignType: none
steps:
- checkout: self
clean: true
- script: eng/cibuild.sh --configuration $(_BuildConfig) --prepareMachine
displayName: Build and Test

- job: Linux
displayName: 'Linux'
pool:
vmImage: 'ubuntu-latest'
strategy:
matrix:
Debug:
_BuildConfig: Debug
_SignType: none
Release:
_BuildConfig: Release
_SignType: none
steps:
- checkout: self
clean: true
- script: eng/cibuild.sh --configuration $(_BuildConfig) --prepareMachine
displayName: Build and Test
- job: MacOS
displayName: 'MacOS'
pool:
vmImage: 'macOS-latest'
strategy:
matrix:
Debug:
_BuildConfig: Debug
_SignType: none
Release:
_BuildConfig: Release
_SignType: none
steps:
- script: eng/cibuild.sh --configuration $(_BuildConfig) --prepareMachine
displayName: Build and Test

- ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
- template: eng\common\templates\post-build\post-build.yml
- job: Linux
displayName: 'Linux'
pool:
vmImage: 'ubuntu-latest'
strategy:
matrix:
Debug:
_BuildConfig: Debug
_SignType: none
Release:
_BuildConfig: Release
_SignType: none
steps:
- script: eng/cibuild.sh --configuration $(_BuildConfig) --prepareMachine
displayName: Build and Test
142 changes: 20 additions & 122 deletions azure-pipelines.yml
Original file line number Diff line number Diff line change
@@ -1,146 +1,44 @@
pr:
branches:
include:
- main
- release/*
paths:
exclude:
- README.md
- docs/*
schedules:
- cron: "0 0 * * *"
displayName: Daily Official Build
variables:
- template: /eng/common/templates-official/variables/pool-providers.yml@self

trigger:
batch: true
branches:
include:
- main
- cron: "0 8 22-28 * 0" # Fourth Sunday of each month at 8:00 UTC
displayName: "Monthly build check"
branches:
include:
- main
- release/*
always: true # Run even if there have been no source code changes since the last successful scheduled run
batch: false # Do not run the pipeline if the previously scheduled run is in-progress

variables:
- template: /eng/common/templates-official/variables/pool-providers.yml@self
- name: _TeamName
value: Roslyn
- name: TeamName
value: Roslyn
pr: none

resources:
repositories:
- repository: MicroBuildTemplate
- repository: 1ESPipelineTemplates
type: git
name: 1ESPipelineTemplates/MicroBuildTemplate
name: 1ESPipelineTemplates/1ESPipelineTemplates
ref: refs/tags/release
extends:
template: azure-pipelines/MicroBuild.1ES.Official.yml@MicroBuildTemplate
template: v1/1ES.Official.PipelineTemplate.yml@1ESPipelineTemplates
parameters:
sdl:
createAdoIssuesForJustificationsForDisablement: false
sourceAnalysisPool:
name: $(DncEngInternalBuildPool)
image: 1es-windows-2022
os: windows
sbom:
enabled: false
policheck:
enabled: true
tsa:
enabled: true
configFile: '$(Build.SourcesDirectory)/eng/TSAConfig.gdntsa'
customBuildTags:
- ES365AIMigrationTooling
stages:
- stage: build
displayName: Build
jobs:
- ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest'), eq(variables['Build.SourceBranch'], 'refs/heads/main')) }}:
- template: /eng/common/templates-official/job/onelocbuild.yml@self
parameters:
MirrorRepo: sourcelink
LclSource: lclFilesfromPackage
LclPackageId: 'LCL-JUNO-PROD-SOURCELINK'
- template: /eng/common/templates-official/jobs/jobs.yml@self
parameters:
enableMicrobuild: true
enablePublishBuildArtifacts: true
enablePublishTestResults: true
enablePublishBuildAssets: true
enablePublishUsingPipelines: true
enablePublishBuildAssets: false
enablePublishTestResults: false
publishAssetsImmediately: true
isAssetlessBuild: true
enableTelemetry: true
enableSourceBuild: true
helixRepo: dotnet/symreader
jobs:
- job: Windows
pool:
${{ if or(eq(variables['System.TeamProject'], 'public'), in(variables['Build.Reason'], 'PullRequest')) }}:
vmImage: 'windows-latest'
${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
name: $(DncEngInternalBuildPool)
demands: ImageOverride -equals 1es-windows-2022
variables:
- ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
- group: Publish-Build-Assets
- name: _OfficialBuildArgs
value: /p:DotNetSignType=$(_SignType) /p:DotNetPublishUsingPipelines=true /p:TeamName=$(_TeamName) /p:OfficialBuildId=$(BUILD.BUILDNUMBER)
- ${{ if or(eq(variables['System.TeamProject'], 'public'), in(variables['Build.Reason'], 'PullRequest')) }}:
- name: _OfficialBuildArgs
value: ''
strategy:
matrix:
${{ if or(eq(variables['System.TeamProject'], 'public'), in(variables['Build.Reason'], 'PullRequest')) }}:
Debug:
_BuildConfig: Debug
_SignType: test
_BuildArgs: ''
Release:
_BuildConfig: Release
${{ if or(eq(variables['System.TeamProject'], 'public'), in(variables['Build.Reason'], 'PullRequest')) }}:
_SignType: test
_BuildArgs: ''
${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
_SignType: real
_BuildArgs: $(_OfficialBuildArgs)
steps:
- checkout: self
clean: true
- script: eng\cibuild.cmd -configuration $(_BuildConfig) -prepareMachine $(_BuildArgs)
displayName: Build and Test
- ${{ if or(eq(variables['System.TeamProject'], 'public'), in(variables['Build.Reason'], 'PullRequest')) }}:
- job: MacOS
displayName: 'MacOS'
pool:
vmImage: 'macOS-latest'
strategy:
matrix:
Debug:
_BuildConfig: Debug
_SignType: none
Release:
_BuildConfig: Release
_SignType: none
steps:
- checkout: self
clean: true
- script: eng/cibuild.sh --configuration $(_BuildConfig) --prepareMachine
displayName: Build and Test
- job: Linux
displayName: 'Linux'
pool:
vmImage: 'ubuntu-latest'
strategy:
matrix:
Debug:
_BuildConfig: Debug
_SignType: none
Release:
_BuildConfig: Release
_SignType: none
steps:
- checkout: self
clean: true
- script: eng/cibuild.sh --configuration $(_BuildConfig) --prepareMachine
displayName: Build and Test
- ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
- template: /eng/common/templates-official/post-build/post-build.yml@self
- template: /eng/common/templates-official/job/onelocbuild.yml@self
parameters:
MirrorRepo: sourcelink
LclSource: lclFilesfromPackage
LclPackageId: 'LCL-JUNO-PROD-SOURCELINK'
7 changes: 7 additions & 0 deletions eng/Publishing.props
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
<Project>

<PropertyGroup>
<ProducesDotNetReleaseShippingAssets>true</ProducesDotNetReleaseShippingAssets>
</PropertyGroup>

</Project>
4 changes: 3 additions & 1 deletion eng/Versions.props
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
<Project>

<Import Project="Version.Details.props" Condition="Exists('Version.Details.props')" />

<PropertyGroup>
<!-- This repo version -->
<VersionPrefix>10.0.0</VersionPrefix>
<VersionPrefix>10.0.1</VersionPrefix>
<PreReleaseVersionLabel>beta</PreReleaseVersionLabel>
<!-- Opt-in repo features -->
<UsingToolSymbolUploader>true</UsingToolSymbolUploader>
Expand All @@ -16,4 +17,5 @@
<!-- runtime -->
<SystemTextJsonVersion>9.0.0</SystemTextJsonVersion>
</PropertyGroup>

</Project>