0

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.

0 Answers0