-
Notifications
You must be signed in to change notification settings - Fork 8.1k
Revert 5.1-breaking changes to build\Start-PSBootStrap #16738
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
Conversation
Runtime updates in PowerShell#16309 broke `Start-PSBootbootstrap` on Windows PowerShell 5.1 by introducing a hard dependency on the `[SemanticVersion]` type, introduced in 6.0. This commit replaces the type reference with a PowerShell class that implements the necessary subset of functionality from `[SemanticVersion]` needed for sorting SDK versions.
|
This PR has Quantification details
Why proper sizing of changes matters
Optimal pull request sizes drive a better predictable PR flow as they strike a
What can I do to optimize my changes
How to interpret the change counts in git diff output
Was this comment helpful? 👍 :ok_hand: :thumbsdown: (Email) |
PaulHigin
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These changes look fine to me. My only concern is that we now would have to maintain this code, and pick up any bug fixes from dotNet. Do people agree this is Ok? I imagine the code is pretty stable, but would still need to be maintained.
|
|
I have the similar concern, and thus marked this to be reviewed by maintainer. Also, CIs failed because the build was not successful. I think the failure is related to changes in this PR because I don't see similar failure in other PRs or daily builds. |
|
The sdk selection logic is "dumb" - get list, sort, pick up first - we don't search required sdk in the list. So we can replace Get-LatestInstalledSDK with one command |
I was a bit perplexed by this logic as well. I assume that also explains why I get "dotnet (6.0.101) is out of date, downloading dotnet (6.0.100)" every time I bootstrap since installing 6.0.101 on my machine ¯\(ツ)/¯ |
@IISResetMe |
|
Please see comments here: #16330 (comment) Closing this PR as PowerShell team Maintainer's have consensus, that this is not required. |
|
@adityapatwardhan consensus that it shouldn't be possible to bootstrap a build from Windows PowerShell? Or consensus that there are better ways of maintaining compatibility? |
Fixes #16330
PR Summary
Runtime updates in #16309 broke
Start-PSBootbootstrapon Windows PowerShell 5.1 by introducing a hard dependency on the[SemanticVersion]type, introduced in 6.0.This commit replaces the type reference with a PowerShell class that implements the necessary subset of functionality (namely
IComparable) from[SemanticVersion]needed for sorting SDK versions, ostensibly the motivation for introducing this dependency in the first place.PR Context
I, like many others, have been building PowerShell >=6 from source with Windows PowerShell 5.1 for years and still occassionally do. Having to manually patch
build.psm1everytime I want to bootstrap a build from WPS is frustrating. Hence this PR.PR Checklist
.h,.cpp,.cs,.ps1and.psm1files have the correct copyright headerWIP:or[ WIP ]to the beginning of the title (theWIPbot will keep its status check atPendingwhile the prefix is present) and remove the prefix when the PR is ready.(which runs in a different PS Host).