Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

mark-shipped.ps1 doesn't produce stable results across OSes #48067

Open
RikkiGibson opened this issue Sep 25, 2020 · 1 comment
Open

mark-shipped.ps1 doesn't produce stable results across OSes #48067

RikkiGibson opened this issue Sep 25, 2020 · 1 comment
Labels
Area-Infrastructure Concept-Design Debt Engineering Debt, Design Debt, or poor product code quality
Milestone

Comments

@RikkiGibson
Copy link
Contributor

Our public APIs in release/dev16.7 were marked shipped via scripts/PublicApi/mark-shipped.ps1 on a Linux machine. If we run the script again on Windows it produces this diff:
release/dev16.7...RikkiGibson:shuffle

(running the script on Mac on release/dev16.7 branch produces no diff in the relevant paths.)

It also appears that the tool seems to reorder existing method overloads in undesirable ways across releases: for example, changing default parameter values on method overloads can cause the overloads to appear in a different order. #48059 (comment)

Reordering members when running marked-shipped.ps1 harms the reviewability of public API changes. Obviously there are likely problems around "when I change this about an overload, do we consider it the same method as before?" but it feels like at least things which do not change the signature of a method from the runtime point of view should not affect sort order.

@RikkiGibson RikkiGibson added Area-Infrastructure Concept-Design Debt Engineering Debt, Design Debt, or poor product code quality labels Sep 25, 2020
@Youssef1313
Copy link
Member

A little bit related to dotnet/runtime#20109 (comment)

@deepakrathore33 deepakrathore33 added this to the Backlog milestone Nov 5, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area-Infrastructure Concept-Design Debt Engineering Debt, Design Debt, or poor product code quality
Projects
None yet
Development

No branches or pull requests

3 participants