Skip to content

Conversation

@dibarbet
Copy link
Member

@dibarbet dibarbet commented Sep 16, 2025

@dibarbet dibarbet marked this pull request as ready for review September 16, 2025 21:26
@dibarbet dibarbet force-pushed the dev/dibarbet/publish_data_branch branch from 2815e3e to a959231 Compare September 16, 2025 21:43
@RikkiGibson
Copy link
Member

It's not clear to me whether/why we should do this. Could you please explain?

To date there has been an expectation that if, for example, I want to change release/dev18.0 to create only draft PRs, then I only need to update PublishData.json in main.

With this change, it seems like there is a version of this file in each of our branches, which has a subset of our shipping branches included in them, but the only branch data that will actually be respected for a given branch's PublishData.json, is the one for the current branch. i.e. the "release/dev18.0": { ... } content in the main branch version of the file doesn't do anything. Is that the case? That seems strange.

@dibarbet
Copy link
Member Author

dibarbet commented Sep 16, 2025

With this change, it seems like there is a version of this file in each of our branches, which has a subset of our shipping branches included in them, but the only branch data that will actually be respected for a given branch's PublishData.json, is the one for the current branch. i.e. the "release/dev18.0": { ... } content in the main branch version of the file doesn't do anything. Is that the case? That seems strange.

Yes - in fact we can entirely remove the rest of the branches from the configuration list once this is backported (and only list the current branch).

It's not clear to me whether/why we should do this. Could you please explain?

This has multiple benefits

  1. It allows publishdata.json to move forward without keeping around old configurations forever (/ servicing lifetime). I am modifying how package publishing works in main for VMR publishing which requires changing how publishdata.json works. Without this (and backporting it) main has to include all old and new configurations. For example today we list completely dead packages in the publishing list because some servicing branch needs them.
  2. Doing dev changes that impact publishing / insertion is always annoying. You have to make a change to pull publishdata from your branch or update publish data in main for your temp branch (and the URL depends on where you queue the build...)

@RikkiGibson
Copy link
Member

Works for me, thanks!

@dibarbet dibarbet enabled auto-merge (squash) September 17, 2025 18:22
@dibarbet
Copy link
Member Author

/backport to release/dev17.10

@github-actions
Copy link
Contributor

Started backporting to release/dev17.10: https://github.com/dotnet/roslyn/actions/runs/17807008578

@dibarbet
Copy link
Member Author

/backport to release/dev17.12

@github-actions
Copy link
Contributor

Started backporting to release/dev17.12: https://github.com/dotnet/roslyn/actions/runs/17807013435

@dibarbet
Copy link
Member Author

/backport to release/dev16.11-vs-deps

@github-actions
Copy link
Contributor

Started backporting to release/dev16.11-vs-deps: https://github.com/dotnet/roslyn/actions/runs/17807034361

@github-actions
Copy link
Contributor

@dibarbet backporting to "release/dev17.10" failed, the patch most likely resulted in conflicts:

$ git am --3way --empty=keep --ignore-whitespace --keep-non-patch changes.patch

Applying: Pull publish data from current branch
Using index info to reconstruct a base tree...
M	azure-pipelines-official.yml
M	azure-pipelines-pr-validation.yml
Falling back to patching base and 3-way merge...
Auto-merging azure-pipelines-official.yml
Auto-merging azure-pipelines-pr-validation.yml
CONFLICT (content): Merge conflict in azure-pipelines-pr-validation.yml
error: Failed to merge in the changes.
hint: Use 'git am --show-current-patch=diff' to see the failed patch
hint: When you have resolved this problem, run "git am --continue".
hint: If you prefer to skip this patch, run "git am --skip" instead.
hint: To restore the original branch and stop patching, run "git am --abort".
hint: Disable this message with "git config set advice.mergeConflict false"
Patch failed at 0001 Pull publish data from current branch
Error: The process '/usr/bin/git' failed with exit code 128

Please backport manually!

@github-actions
Copy link
Contributor

@dibarbet backporting to "release/dev16.11-vs-deps" failed, the patch most likely resulted in conflicts:

$ git am --3way --empty=keep --ignore-whitespace --keep-non-patch changes.patch

Applying: Pull publish data from current branch
Using index info to reconstruct a base tree...
M	azure-pipelines-official.yml
M	azure-pipelines-pr-validation.yml
M	eng/build-utils.ps1
Falling back to patching base and 3-way merge...
Auto-merging azure-pipelines-official.yml
CONFLICT (content): Merge conflict in azure-pipelines-official.yml
Auto-merging azure-pipelines-pr-validation.yml
CONFLICT (content): Merge conflict in azure-pipelines-pr-validation.yml
Auto-merging eng/build-utils.ps1
error: Failed to merge in the changes.
hint: Use 'git am --show-current-patch=diff' to see the failed patch
hint: When you have resolved this problem, run "git am --continue".
hint: If you prefer to skip this patch, run "git am --skip" instead.
hint: To restore the original branch and stop patching, run "git am --abort".
hint: Disable this message with "git config set advice.mergeConflict false"
Patch failed at 0001 Pull publish data from current branch
Error: The process '/usr/bin/git' failed with exit code 128

Please backport manually!

@dibarbet
Copy link
Member Author

/backport to release/dev17.14

@github-actions
Copy link
Contributor

Started backporting to release/dev17.14: https://github.com/dotnet/roslyn/actions/runs/17807176187

@dibarbet dibarbet merged commit 766afbd into dotnet:main Sep 17, 2025
27 of 28 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants