Skip to content

Replace win7 runtime with win8 and remove APISets#18304

Merged
adityapatwardhan merged 6 commits intoPowerShell:masterfrom
adityapatwardhan:RemoveAPISEt
Oct 18, 2022
Merged

Replace win7 runtime with win8 and remove APISets#18304
adityapatwardhan merged 6 commits intoPowerShell:masterfrom
adityapatwardhan:RemoveAPISEt

Conversation

@adityapatwardhan
Copy link
Copy Markdown
Member

@adityapatwardhan adityapatwardhan commented Oct 14, 2022

PR Summary

Replace the runtime for builds from win7 to win8 as we are not going to support windows 7 anymore.
Remove APISets which are deprecated.

PR Context

PR Checklist

@ALIENQuake
Copy link
Copy Markdown

@adityapatwardhan Hi,

Does after merging this PR, Windows 7 won't have any PS 7 LTS version?

@xtqqczze
Copy link
Copy Markdown
Contributor

xtqqczze commented Oct 17, 2022

@ALIENQuake
PowerShell OS support is linked to .NET support policy. See dotnet/core#7556 for discussion of .NET support for Windows 7.

@iSazonov
Copy link
Copy Markdown
Collaborator

dotnet/core#7556 says about EOL on Windows 8.1 too.

@xtqqczze
Copy link
Copy Markdown
Contributor

dotnet/core#7556 says about EOL on Windows 8.1 too.

I expect we will maintain support for win81-x86 and win81-x64 target platforms due to Windows Server 2012/R2 ESU.

https://learn.microsoft.com/en-us/dotnet/core/rid-catalog#windows-rids
https://learn.microsoft.com/en-us/lifecycle/faq/extended-security-updates

@daxian-dbw
Copy link
Copy Markdown
Member

@adityapatwardhan Win8.1 support will end on January 10, 2023, same time as the Win7, so shall we directly use win10 as the RID?

@xtqqczze
Copy link
Copy Markdown
Contributor

@adityapatwardhan Win8.1 support will end on January 10, 2023, same time as the Win7, so shall we directly use win10 as the RID?

But Windows Server 2012 R2 uses the same RIDs and is supported through ESU until October 13, 2026.

@pull-request-quantifier-deprecated
Copy link
Copy Markdown

This PR has 598 quantified lines of changes. In general, a change size of upto 200 lines is ideal for the best PR experience!


Quantification details

Label      : Extra Large
Size       : +52 -546
Percentile : 86.6%

Total files changed: 22

Change summary by file extension:
.yml : +9 -9
.wxs : +0 -492
.psm1 : +18 -18
.csproj : +6 -8
.ps1 : +19 -19

Change counts above are quantified counts, based on the PullRequestQuantifier customizations.

Why proper sizing of changes matters

Optimal pull request sizes drive a better predictable PR flow as they strike a
balance between between PR complexity and PR review overhead. PRs within the
optimal size (typical small, or medium sized PRs) mean:

  • Fast and predictable releases to production:
    • Optimal size changes are more likely to be reviewed faster with fewer
      iterations.
    • Similarity in low PR complexity drives similar review times.
  • Review quality is likely higher as complexity is lower:
    • Bugs are more likely to be detected.
    • Code inconsistencies are more likely to be detected.
  • Knowledge sharing is improved within the participants:
    • Small portions can be assimilated better.
  • Better engineering practices are exercised:
    • Solving big problems by dividing them in well contained, smaller problems.
    • Exercising separation of concerns within the code changes.

What can I do to optimize my changes

  • Use the PullRequestQuantifier to quantify your PR accurately
    • Create a context profile for your repo using the context generator
    • Exclude files that are not necessary to be reviewed or do not increase the review complexity. Example: Autogenerated code, docs, project IDE setting files, binaries, etc. Check out the Excluded section from your prquantifier.yaml context profile.
    • Understand your typical change complexity, drive towards the desired complexity by adjusting the label mapping in your prquantifier.yaml context profile.
    • Only use the labels that matter to you, see context specification to customize your prquantifier.yaml context profile.
  • Change your engineering behaviors
    • For PRs that fall outside of the desired spectrum, review the details and check if:
      • Your PR could be split in smaller, self-contained PRs instead
      • Your PR only solves one particular issue. (For example, don't refactor and code new features in the same PR).

How to interpret the change counts in git diff output

  • One line was added: +1 -0
  • One line was deleted: +0 -1
  • One line was modified: +1 -1 (git diff doesn't know about modified, it will
    interpret that line like one addition plus one deletion)
  • Change percentiles: Change characteristics (addition, deletion, modification)
    of this PR in relation to all other PRs within the repository.


Was this comment helpful? 👍  :ok_hand:  :thumbsdown: (Email)
Customize PullRequestQuantifier for this repository.

@iSazonov
Copy link
Copy Markdown
Collaborator

@adityapatwardhan Win8.1 support will end on January 10, 2023, same time as the Win7, so shall we directly use win10 as the RID?

But Windows Server 2012 R2 uses the same RIDs and is supported through ESU until October 13, 2026.

So right question is about ESU supporting pwsh 6 on the Win2012/8 :-)

Although it looks very funny - MSFT spent a year making .Net 7 on Windows 7 and just before the release decided that .Net 7 would not work/supported on Windows 7.

@TravisEz13 TravisEz13 added the Breaking-Change breaking change that may affect users label Oct 18, 2022
@adityapatwardhan adityapatwardhan merged commit cc86f9f into PowerShell:master Oct 18, 2022
@adityapatwardhan adityapatwardhan deleted the RemoveAPISEt branch October 18, 2022 18:07
@daxian-dbw daxian-dbw assigned TravisEz13 and unassigned daxian-dbw Oct 18, 2022
adityapatwardhan added a commit to adityapatwardhan/PowerShell that referenced this pull request Oct 18, 2022
@xtqqczze
Copy link
Copy Markdown
Contributor

So right question is about ESU supporting pwsh 6 on the Win2012/8 :-)

We don't support PowerShell Core 6 on any platform.

As per documentation, long-term-support for PowerShell is based on the .NET support lifecycle.

@adityapatwardhan
Copy link
Copy Markdown
Member Author

/backport to v7.3.0-rc.1

@github-actions
Copy link
Copy Markdown
Contributor

@adityapatwardhan an error occurred while backporting to v7.3.0-rc.1, please check the run log for details!

The process '/usr/bin/git' failed with exit code 1

@adityapatwardhan
Copy link
Copy Markdown
Member Author

/backport to release/v7.3.0-rc.1

@github-actions
Copy link
Copy Markdown
Contributor

@adityapatwardhan backporting to release/v7.3.0-rc.1 failed, the patch most likely resulted in conflicts:

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

Applying: Replace win7 runtime with win8
Using index info to reconstruct a base tree...
M	build.psm1
M	test/powershell/engine/Formatting/PSStyle.Tests.ps1
M	test/xUnit/xUnit.tests.csproj
M	tools/findMissingNotices.ps1
Falling back to patching base and 3-way merge...
Auto-merging tools/findMissingNotices.ps1
CONFLICT (content): Merge conflict in tools/findMissingNotices.ps1
Auto-merging test/xUnit/xUnit.tests.csproj
Auto-merging test/powershell/engine/Formatting/PSStyle.Tests.ps1
Auto-merging build.psm1
error: Failed to merge in the changes.
hint: Use 'git am --show-current-patch=diff' to see the failed patch
Patch failed at 0001 Replace win7 runtime with win8
When you have resolved this problem, run "git am --continue".
If you prefer to skip this patch, run "git am --skip" instead.
To restore the original branch and stop patching, run "git am --abort".
Error: The process '/usr/bin/git' failed with exit code 128

Please backport manually!

adityapatwardhan added a commit to adityapatwardhan/PowerShell that referenced this pull request Oct 22, 2022
@adityapatwardhan adityapatwardhan added the CL-BuildPackaging Indicates that a PR should be marked as a build or packaging change in the Change Log label Oct 22, 2022
github-actions bot pushed a commit that referenced this pull request Oct 25, 2022
@ghost
Copy link
Copy Markdown

ghost commented Oct 26, 2022

🎉v7.3.0-rc.1 has been released which incorporates this pull request.:tada:

Handy links:

@ghost
Copy link
Copy Markdown

ghost commented Dec 20, 2022

🎉v7.4.0-preview.1 has been released which incorporates this pull request.:tada:

Handy links:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Backport-7.3.x-Done Breaking-Change breaking change that may affect users CL-BuildPackaging Indicates that a PR should be marked as a build or packaging change in the Change Log Extra Large

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants