diff --git a/eng/pipelines/vmr-vertical-build-poc.yml b/eng/pipelines/vmr-vertical-build-poc.yml new file mode 100644 index 000000000..b9ef33cca --- /dev/null +++ b/eng/pipelines/vmr-vertical-build-poc.yml @@ -0,0 +1,52 @@ +trigger: none +pr: + branches: + include: + - main + +parameters: +- name: vmrBranch + displayName: dotnet/dotnet branch to push to + type: string + default: ' ' + +- name: disableVmrBuild + displayName: Skip source-building the VMR + type: boolean + default: false + +variables: +- ${{ if ne(parameters.vmrBranch, ' ') }}: + - name: VmrBranch + value: ${{ replace(parameters.vmrBranch, ' ', '') }} +- ${{ else }}: + - name: VmrBranch + value: ${{ replace(replace(variables['System.PullRequest.TargetBranch'], 'refs/heads/', ''), 'refs/pull/', '') }} + +resources: + repositories: + - repository: vmr + type: github + name: dotnet/dotnet + endpoint: dotnet + ref: ${{ variables.VmrBranch }} + +stages: +- ${{ if not(parameters.disableVmrBuild) }}: + - template: templates/stages/vmr-cross-build.yml + parameters: + vmrBranch: ${{ variables.VmrBranch }} + isBuiltFromVmr: false + isLiteBuild: true + +# In case the VMR Build stage is temporarily disabled, the VMR synchronization step is run to validate +# that the PR can be merged and later synchronized into the VMR without problems. +- ${{ else }}: + - stage: Synchronize_VMR + displayName: Synchronize VMR + dependsOn: [] + jobs: + - template: templates/jobs/vmr-synchronization.yml + parameters: + vmrBranch: ${{ variables.VmrBranch }} + noPush: true