From b98f3a328dc475531c1fa480946c60885f254d57 Mon Sep 17 00:00:00 2001 From: Tom Meschter Date: Thu, 12 Oct 2023 11:05:08 -0700 Subject: [PATCH 1/6] Bump version number to 17.9 The `main` branch is now targeting 17.9; update the version.json accordingly. --- version.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/version.json b/version.json index b1403f15fe1..416c2110696 100644 --- a/version.json +++ b/version.json @@ -1,6 +1,6 @@ { "$schema": "https://raw.githubusercontent.com/dotnet/Nerdbank.GitVersioning/main/src/NerdBank.GitVersioning/version.schema.json", - "version": "17.8", + "version": "17.9", "cloudBuild": { "setAllVariables": true } From 9fb7508d62e313ae137807a0dcc1fe3635b00171 Mon Sep 17 00:00:00 2001 From: Tom Meschter Date: Fri, 13 Oct 2023 11:39:15 -0700 Subject: [PATCH 2/6] Add global.json Add a global.json to force a particular SDK in hopes that resolves issues with NuGet restore. --- global.json | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 global.json diff --git a/global.json b/global.json new file mode 100644 index 00000000000..ad69c0c2e68 --- /dev/null +++ b/global.json @@ -0,0 +1,5 @@ +{ + "sdk": { + "version": "7.0.402" + } +} \ No newline at end of file From e51a007951a0e37fba84a77ea46ad60ad611ec3f Mon Sep 17 00:00:00 2001 From: Tom Meschter Date: Fri, 13 Oct 2023 13:49:03 -0700 Subject: [PATCH 3/6] Remove global.json Remove the global.json. The specified version of the SDK doesn't seem to be installed on the build system, so we don't even get far enough to encounter the NuGet authentication issue I'm seeing. --- global.json | 5 ----- 1 file changed, 5 deletions(-) delete mode 100644 global.json diff --git a/global.json b/global.json deleted file mode 100644 index ad69c0c2e68..00000000000 --- a/global.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "sdk": { - "version": "7.0.402" - } -} \ No newline at end of file From 3ae05a19327b96f921925e3bce50648cbbb28752 Mon Sep 17 00:00:00 2001 From: Tom Meschter Date: Fri, 13 Oct 2023 13:56:48 -0700 Subject: [PATCH 4/6] Don't exclude obj from artifacts Currently we exclude the obj directory from the set of artifacts we collect after a build as it contains only intermediate outputs rather than the final outputs in the bin directory. However, those intermediate outputs (such as the project.assets.json file) can be very useful in diagnosing build problems. Here we drop the obj directory exclusion so that we can get a copy of the project.assets.json file from a PR build. --- eng/pipelines/configuration/build.artifactignore | 1 - 1 file changed, 1 deletion(-) diff --git a/eng/pipelines/configuration/build.artifactignore b/eng/pipelines/configuration/build.artifactignore index aa28fd1dda7..a59191cd492 100644 --- a/eng/pipelines/configuration/build.artifactignore +++ b/eng/pipelines/configuration/build.artifactignore @@ -3,5 +3,4 @@ # Ignore certain files and folders from Azure Pipelines artifact publishing. # See: https://docs.microsoft.com/azure/devops/artifacts/reference/artifactignore -obj/ VSSetup.obj/ \ No newline at end of file From 409f5ae0f405d44c6c663027f6459471f04d890b Mon Sep 17 00:00:00 2001 From: Tom Meschter Date: Fri, 13 Oct 2023 15:39:26 -0700 Subject: [PATCH 5/6] Filter obj from artifacts Now that the project.assets.json from the PR build has been investigated we can go back to filtering out the obj directory from artifacts. --- eng/pipelines/configuration/build.artifactignore | 1 + 1 file changed, 1 insertion(+) diff --git a/eng/pipelines/configuration/build.artifactignore b/eng/pipelines/configuration/build.artifactignore index a59191cd492..aa28fd1dda7 100644 --- a/eng/pipelines/configuration/build.artifactignore +++ b/eng/pipelines/configuration/build.artifactignore @@ -3,4 +3,5 @@ # Ignore certain files and folders from Azure Pipelines artifact publishing. # See: https://docs.microsoft.com/azure/devops/artifacts/reference/artifactignore +obj/ VSSetup.obj/ \ No newline at end of file From 18d5bfbe4ff6732c8bc1a9d7292154b1d83f143b Mon Sep 17 00:00:00 2001 From: Tom Meschter Date: Fri, 13 Oct 2023 15:47:43 -0700 Subject: [PATCH 6/6] Install .NET runtime Update the PR build to install the version of the .NET runtime used in our unit test runs, specifically, 7.0.x. This wasn't previously needed, so I can only guess that the build system image we were using came with it preinstalled. It seems we can no longer count on that, so now we will explicitly install it. Without this our unit tests fail to run due to a lack of a runtime. --- eng/pipelines/templates/build-pull-request.yml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/eng/pipelines/templates/build-pull-request.yml b/eng/pipelines/templates/build-pull-request.yml index 4872e7fa6d2..dc0e8c16abc 100644 --- a/eng/pipelines/templates/build-pull-request.yml +++ b/eng/pipelines/templates/build-pull-request.yml @@ -24,6 +24,14 @@ jobs: - powershell: npm --version displayName: Check npm version + # Ensure the .NET runtime needed by our unit tests is installed. + - task: UseDotNet@2 + displayName: Install .NET Runtime + inputs: + packageType: runtime + # This should match the target of our unit test projects. + version: 7.0.x + # Allows for accessing the internal AzDO feed (vs-impl-internal) for project restore via Azure Artifacts Credential Provider. # See: https://github.com/microsoft/artifacts-credprovider#automatic-usage # YAML reference: https://docs.microsoft.com/azure/devops/pipelines/tasks/package/nuget-authenticate?view=azure-devops