-
Notifications
You must be signed in to change notification settings - Fork 236
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
Conversation
522f376
to
5fb8cfc
Compare
.vsts-ci/azure-pipelines-release.yml
Outdated
@@ -29,7 +29,8 @@ stages: | |||
jobs: | |||
- job: Build | |||
pool: | |||
vmImage: windows-2019 | |||
name: 1ES | |||
demands: ImageOverride -equals PMMSWindows2019-Secure |
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.
demands: ImageOverride -equals PMMSWindows2019-Secure | |
demands: ImageOverride -equals PMMS2019-Secure |
.vsts-ci/azure-pipelines-release.yml
Outdated
@@ -39,7 +40,7 @@ stages: | |||
- job: Sign | |||
pool: | |||
name: 1ES | |||
demands: ImageOverride -equals MMSWindows2019-Secure | |||
demands: ImageOverride -equals PMMSWindows2019-Secure |
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.
demands: ImageOverride -equals PMMSWindows2019-Secure | |
demands: ImageOverride -equals PMMS2019-Secure |
5fb8cfc
to
c4b38ba
Compare
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.
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.
c4b38ba
to
c965f6c
Compare
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 ofdotnet
, 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
andplatyPS
modules for the build, which is probably the most annoying part of this PR as devs will need to runUpdate-Module
for these (and possibly installplayPS
if they had never run the dependent task before).