diff --git a/azure-pipelines-PR.yml b/azure-pipelines-PR.yml index cab337f53..d3da145ef 100644 --- a/azure-pipelines-PR.yml +++ b/azure-pipelines-PR.yml @@ -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 @@ -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) @@ -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 diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 00aaec0c4..dcae2b3f3 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -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' \ No newline at end of file diff --git a/eng/Publishing.props b/eng/Publishing.props new file mode 100644 index 000000000..844ae55fb --- /dev/null +++ b/eng/Publishing.props @@ -0,0 +1,7 @@ + + + + true + + + \ No newline at end of file diff --git a/eng/Versions.props b/eng/Versions.props index 36828ab8e..5359ac726 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -1,9 +1,10 @@ + - 10.0.0 + 10.0.1 beta true @@ -16,4 +17,5 @@ 9.0.0 +