Skip to content

Use global dotnet and update build dependencies #1716

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

Merged
merged 3 commits into from
Feb 19, 2022
Merged

Conversation

andyleejordan
Copy link
Member

This removes our build script's dependency on the install-dotnet script (which is only meant for use in CI, but we now use an ADO task for that, and so that we can rely on pre-installed versions of .NET if available). Developers will need to follow .NET Core's instructions to install .NET SDK 6.0, and the 3.1 runtime for the end-to-end tests. Fortunately, this actually eases the developer workflow by no longer being sensitive to a local installation of dotnet, so the C# extension in Code now "just works."

This updates the release pipeline to use the PMMSWindows2019-Secure for build, sign, and release.

This also updates our required and installed InvokeBuild and platyPS modules for the build, which is probably the most annoying part of this PR as devs will need to run Update-Module for these (and possibly install playPS if they had never run the dependent task before).

@@ -29,7 +29,8 @@ stages:
jobs:
- job: Build
pool:
vmImage: windows-2019
name: 1ES
demands: ImageOverride -equals PMMSWindows2019-Secure
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
demands: ImageOverride -equals PMMSWindows2019-Secure
demands: ImageOverride -equals PMMS2019-Secure

@@ -39,7 +40,7 @@ stages:
- job: Sign
pool:
name: 1ES
demands: ImageOverride -equals MMSWindows2019-Secure
demands: ImageOverride -equals PMMSWindows2019-Secure
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
demands: ImageOverride -equals PMMSWindows2019-Secure
demands: ImageOverride -equals PMMS2019-Secure

Copy link
Member

@TravisEz13 TravisEz13 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Other than some typos it looks good

For secure and compliant builds, we must use the .NET SDK installed on
the build machine, which means we cannot use the installation script any
more. Additionally, that script explicitly says not to use it for
developer machines either. While the bootstrapping cost is now slightly
higher since the developer has to manually install the SDK (and
additional runtime if necessary), this is what .NET instructs us to do.

The good news is that developers no longer need to manually add this
folder's `.dotnet` folder to the front of their `PATH` before opening VS
Code for OmniSharp to work correctly. Plus, it's simpler.
@andyleejordan andyleejordan merged commit 640eac8 into master Feb 19, 2022
@andyleejordan andyleejordan deleted the andschwa/dotnet branch February 19, 2022 00:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Ignore Exclude from the changelog.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants