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.