From a7437be2142ba76ddaddb71a57ba2d95224b6fa3 Mon Sep 17 00:00:00 2001 From: Jessica Petty <jepetty@microsoft.com> Date: Thu, 25 Feb 2021 14:27:06 -0600 Subject: [PATCH] Add Rich Nav specific pipeline, temporarily add to ci for testing (#26822) * Add Rich Nav specific pipeline, temporarily add to ci for testing * Add Rich Code Navigation feed to Nuget.config * Temporarily disable package reference restrictions * Try running Rich Nav task directly * Fix typo * Temporarily update rich nav task to verify successful run * Remove Rich Nav code from regular CI * Remove unnecessary args from Rich Nav build, add language variable * Apply fixes to Rich Nav pipeline * Remove specific binary log build args, stop disabling package reference restrictions * HACK HACK HACK replace existing CI with rich nav CI to test * Begin publishing artifacts to start debugging empty files * Explicitly set environment variable for rich navigation * Publish binlogs * Try manually updating arcade sdk to get new rcn package * Upload logs even if we've failed (hopefully they exist!) * Add RCN task to run on succeeded or failed to see what happens! * Remove parameters that aren't defined * Final rich nav test/assertion * Replace normal CI and finalize Rich Nav CI script --- .azure/pipelines/jobs/default-build.yml | 3 ++ .azure/pipelines/richnav.yml | 64 +++++++++++++++++++++++++ NuGet.config | 2 + 3 files changed, 69 insertions(+) create mode 100644 .azure/pipelines/richnav.yml diff --git a/.azure/pipelines/jobs/default-build.yml b/.azure/pipelines/jobs/default-build.yml index 88f0bebc179..45a0f46cb83 100644 --- a/.azure/pipelines/jobs/default-build.yml +++ b/.azure/pipelines/jobs/default-build.yml @@ -77,6 +77,9 @@ jobs: dependsOn: ${{ parameters.dependsOn }} ${{ if ne(parameters.condition, '') }}: condition: ${{ parameters.condition }} + ${{ if ne(parameters.enableRichCodeNavigation, '') }}: + enableRichCodeNavigation: true + richCodeNavigationLanguage: 'csharp,typescript,java' timeoutInMinutes: ${{ parameters.timeoutInMinutes }} cancelTimeoutInMinutes: ${{ parameters.cancelTimeoutInMinutes }} ${{ if and(eq(variables['System.TeamProject'], 'internal'), eq(parameters.agentOs, 'Windows'), eq(parameters.codeSign, 'true')) }}: diff --git a/.azure/pipelines/richnav.yml b/.azure/pipelines/richnav.yml new file mode 100644 index 00000000000..a41986ca81a --- /dev/null +++ b/.azure/pipelines/richnav.yml @@ -0,0 +1,64 @@ +# +# See https://docs.microsoft.com/en-us/vsts/pipelines/yaml-schema for details on this file. +# + +# Configure which branches trigger builds +trigger: + branches: + include: + - blazor-wasm + - master + - release/* + - internal/release/* + +variables: +- name: _BuildArgs + value: '/p:SkipTestBuild=true' +- name: Windows86LogArgs + value: -ExcludeCIBinaryLog + +stages: +- stage: build + displayName: Build + jobs: + # Build Windows (x64/x86) + - template: jobs/default-build.yml + parameters: + codeSign: false + jobName: Windows_build + jobDisplayName: "Build: Windows x64/x86" + enableRichCodeNavigation: true + agentOs: Windows + steps: + - script: ./build.cmd + -ci + -all + -arch x64 + /p:EnableRichCodeNavigation=true + $(_BuildArgs) + displayName: Build x64 + + # Build the x86 shared framework + # This is going to actually build x86 native assets. + - script: ./build.cmd + -ci + -noBuildRepoTasks + -arch x86 + -all + -noBuildJava + -noBuildNative + /p:EnableRichCodeNavigation=true + $(_BuildArgs) + $(Windows86LogArgs) + displayName: Build x86 + + # Windows installers bundle both x86 and x64 assets + - script: ./build.cmd + -ci + -noBuildRepoTasks + -buildInstallers + -noBuildNative + /p:AssetManifestFileName=aspnetcore-win-x64-x86.xml + /p:EnableRichCodeNavigation=true + $(_BuildArgs) + displayName: Build Installers diff --git a/NuGet.config b/NuGet.config index 4b1bf8e5576..f7375b2fdcb 100644 --- a/NuGet.config +++ b/NuGet.config @@ -12,6 +12,8 @@ <add key="dotnet-public" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public/nuget/v3/index.json" /> <!-- Used for the SiteExtension 3.1 bits that are included in the 5.0 build --> <add key="dotnet31-transport" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet3.1-transport/nuget/v3/index.json" /> + <!-- Used for the Rich Navigation indexing task --> + <add key="richnav" value="https://pkgs.dev.azure.com/azure-public/vside/_packaging/vs-buildservices/nuget/v3/index.json" /> </packageSources> <disabledPackageSources> <clear /> -- GitLab