We have a pull request process for a repo "Repo-1" that requires the Azure DevOps pipeline "Pipeline-1", pointing to "azure-pipeline.yml", to pass. "azure-pipeline.yml" is contained in this very repo "Repo-1".

Now I want to rename "azure-pipeline.yml" (say, to "azure-pipeline-platform.yml"). Merging this change obviously requires "Pipeline-1" to pass.

  • Following the regular process won't work because "Pipeline-1" expects "azure-pipeline.yml", which isn't present anymore after my changes.
  • Changing the pointed-to file (as described e.g. in Rename build pipeline .yml files in Azure DevOps) to "azure-pipeline-platform.yml" allows my PR to pass but causes any other PR open in parallel to fail.
  • Force-merging the PR doesn't ensure that my changes actually build according to the pipeline definition.

How can I handle this situation gracefully, i.e. without force-merging my changes and without braking other people's PR which are open at the same time?

The only solution I see so far is to:

  • duplicate the file in my PR (i.e. having it present under its old and its new name)
  • ensure my PR gets merged according to the "old" pipeline file
  • change the pointed-to file to the "new" pipeline file
  • eventually delete the duplicate in a subsequent PR.

I'm looking for a possible solution that avoids involving 2 PRs. Or any other graceful suggestion.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Browse other questions tagged or ask your own question.