### These steps synchronize new code from product repositories into the VMR (https://github.com/dotnet/dotnet). ### They initialize the darc CLI and pull the new updates. ### Changes are applied locally onto the already cloned VMR (located in $vmrPath). parameters: - name: vmrBranch displayName: dotnet/dotnet branch to use type: string - name: targetRef displayName: Target revision in dotnet/installer to synchronize type: string default: $(Build.SourceVersion) - name: vmrPath displayName: Path where the dotnet/dotnet is checked out to type: string default: $(Agent.BuildDirectory)/vmr steps: - checkout: self displayName: Clone dotnet/installer path: installer # This step is needed so that when we get a detached HEAD / shallow clone, # we still pull the commit into the temporary installer clone to use it during the sync. - script: | git branch installer-head git rev-parse HEAD displayName: Label PR commit workingDirectory: $(Agent.BuildDirectory)/installer - script: | git checkout -B ${{ parameters.vmrBranch }} echo "##vso[task.setvariable variable=vmrBranch]${{ parameters.vmrBranch }}" displayName: Prepare branch ${{ parameters.vmrBranch }} workingDirectory: ${{ parameters.vmrPath }} - script: | git config --global user.name "dotnet-maestro[bot]" git config --global user.email "dotnet-maestro[bot]@users.noreply.github.com" displayName: Set git author to dotnet-maestro[bot] workingDirectory: ${{ parameters.vmrPath }} - script: > ./eng/vmr-sync.sh --vmr ${{ parameters.vmrPath }} --tmp $(Agent.TempDirectory) --azdev-pat '$(System.AccessToken)' --branch ${{ parameters.vmrBranch }} --repository "installer:${{ parameters.targetRef }}" --recursive --remote "installer:$(pwd)" --readme-template $(Agent.BuildDirectory)/installer/src/VirtualMonoRepo/README.template.md --tpn-template $(Agent.BuildDirectory)/installer/src/VirtualMonoRepo/THIRD-PARTY-NOTICES.template.txt --debug displayName: Synchronize dotnet/dotnet workingDirectory: $(Agent.BuildDirectory)/installer