From f6109aab614e554cc1aac7f03e4890b7d3eb6c64 Mon Sep 17 00:00:00 2001 From: William Godbe <wigodbe@microsoft.com> Date: Tue, 7 Jun 2022 16:45:43 -0700 Subject: [PATCH] Backport branch mirror pipeline (#41760) --- .../azure-pipelines-mirror-within-azdo.yml | 68 +++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 .azure/pipelines/azure-pipelines-mirror-within-azdo.yml diff --git a/.azure/pipelines/azure-pipelines-mirror-within-azdo.yml b/.azure/pipelines/azure-pipelines-mirror-within-azdo.yml new file mode 100644 index 00000000000..b8f2a85dc20 --- /dev/null +++ b/.azure/pipelines/azure-pipelines-mirror-within-azdo.yml @@ -0,0 +1,68 @@ +# Configure which branches trigger builds +trigger: + batch: true + branches: + include: + - internal/release/6.0 + +parameters: +# Run the pipeline manually (usually disallowed) +- name: manualRun + default: false + displayName: Are you sure you want to run this pipeline manually? + type: boolean + +variables: + - group: Mirror-Credentials + +# Merges code from one AzDO branch into another +jobs: +- ${{ if and(contains(variables['Build.SourceBranch'], 'internal'), or(eq(variables['Build.Reason'], 'BatchedCI'), eq(parameters.manualRun, 'true'))) }}: + - template: /eng/common/templates/jobs/jobs.yml + parameters: + enableTelemetry: true + helixRepo: dotnet/aspnetcore + jobs: + - job: Merge_Azure_DevOps_Branches + enableSBOM: false + pool: + name: NetCore1ESPool-Internal + demands: ImageOverride -equals Build.Server.Amd64.VS2019 + variables: + - name: WorkingDirectoryName + value: repo-dir + - name: AzdoRepo + value: dotnet-aspnetcore + - name: TargetBranchName + value: $(Build.SourceBranch)-nonstable + - name: BranchToMirror + value: $(Build.SourceBranch) + steps: + - script: | + git clone https://dn-bot:$(dn-bot-dnceng-build-rw-code-rw)@dev.azure.com/dnceng/internal/_git/$(AzdoRepo) $(WorkingDirectoryName) --recursive --no-tags --branch $(TargetBranchName) + displayName: Clone AzDO repo + - script: | + git -c user.email="dotnet-bot@microsoft.com" -c user.name="dotnet-bot" merge origin/$(BranchToMirror) -m "Merge in '$(BranchToMirror)' changes" + displayName: Merge head branch to target branch + workingDirectory: $(WorkingDirectoryName) + - script: | + git push origin $(TargetBranchName) + displayName: Push changes to Azure DevOps repo + workingDirectory: $(WorkingDirectoryName) + + - task: PowerShell@1 + displayName: Broadcast target, branch, commit in metadata + continueOnError: true + condition: always() + inputs: + scriptType: inlineScript + arguments: '$(BranchToMirror)' + workingDirectory: $(WorkingDirectoryName) + inlineScript: | + param([string]$branch) + + $commit = (git rev-parse HEAD).Substring(0, 7) + $target = "$branch".Replace('/', ' ') + + Write-Host "##vso[build.updatebuildnumber]$target $commit" + Write-Host "##vso[build.addbuildtag]$target" \ No newline at end of file -- GitLab