Conversation
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
7c9a598 to
f2458bc
Compare
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
f2458bc to
7899cc5
Compare
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
d950695 to
36ef4e1
Compare
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
- Change FileVersionPrefix from 17.0 to 18.0 - Switch variable group from PTVS-Dev17 to PTVS-Dev18 - Switch pool from VSEngSS-MicroBuild2022-1ES to VSEng-MicroBuildVSStable - Update VisualStudio demand from 17.0 to 18.0 - Update integration tests pipeline source from PTVS-Build-Dev17 to PTVS-Build-Dev18 - Move VS bootstrapper step outside Non-PR conditional - Re-enable glass tests for PR builds
- Add dependsOn: build so test job waits for build to complete - Download Binaries artifact from build job instead of running MSBuild again - Copy binaries to expected \raw\binaries path
- Add 'Build Installer & Bootstrapper' pipeline parameter (default: false) - Condition installer build step, vsts drop, and bootstrapper on non-PR or parameter - Non-PR builds (CI/scheduled) always build installer as before - PR builds skip installer by default for faster builds - Can opt-in for PR builds by setting the parameter when manually queuing
- Move installer, vsts drop, bootstrapper, and BoM into a new 'installer' job - Installer job downloads build artifacts instead of rebuilding product - Test and installer jobs both depend on build and run in parallel - Build job is now leaner: product + tests only
- Remove 'Build tests' step from build.yml (saves ~1.5min in build job) - Add 'Build tests' step to run_tests.yml after downloading binaries - Add checkout and package restore to test job - Tests are only built when they're actually going to run
- Build tests back in build.yml (needed by build job) - Remove test build from run_tests.yml (just downloads binaries) - New 'nuget' job: downloads binaries, builds/signs/publishes NuGet package - Installer, test, and nuget jobs all run in parallel after build
Glass tests only need product binaries, not test project outputs. Test binaries are only used by the integration test pipeline. This saves ~1:37 of build time plus reduced SDL scanning.
- Test job doesn't need NuGet packages, pylance, or debugpy - Glass tests only need Python + product binaries + source scripts - Use windows-latest hosted pool (no VS/MSBuild needed) - Saves ~1:12 restore time and faster agent allocation
42ecb50 to
358357a
Compare
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
There was a problem hiding this comment.
Pull request overview
This PR upgrades the PTVS build pipelines from Visual Studio Dev17 (VS 2022) to Dev18 (VS 2025) and implements significant pipeline restructuring to improve build performance through parallelization. The main build job (~19 min serial) has been split into 4 jobs that run in parallel after the initial build completes.
Changes:
- Upgraded all pipeline configurations from Dev17 to Dev18 (version references, variable groups, build pools, VS demands)
- Restructured main pipeline into 4 parallel jobs: build (product only), installer (conditional), test (conditional), and nuget (conditional)
- Added buildInstaller parameter to allow PR builds to skip installer/bootstrapper generation by default while enabling opt-in
- Optimized test job to download build artifacts instead of rebuilding, and removed unnecessary package restores
- Removed conditional Non-PR step logic to simplify pipeline execution
Reviewed changes
Copilot reviewed 7 out of 7 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| test.yml | Updated pool name and Visual Studio demand from Dev17 to Dev18 |
| azure-pipelines.yml | Major restructuring: split monolithic build into 4 parallel jobs, added buildInstaller parameter, updated all Dev17→Dev18 references, moved installer/test/nuget builds to separate jobs |
| azure-pipelines-release.yml | Updated variable group and pool from Dev17 to Dev18 |
| azure-pipelines-integration-tests.yml | Updated pipeline source from PTVS-Build-Dev17 to PTVS-Build-Dev18 |
| azure-pipelines-compliance.yml | Updated pool, VS demand, and variable group from Dev17 to Dev18 |
| Build/templates/run_tests.yml | Changed from rebuilding product to downloading binaries artifact from build job |
| Build/templates/build.yml | Removed installer, test, and bill of materials builds (moved to separate jobs) |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
|



PR: Upgrade pipelines from Dev17 to Dev18 + pipeline optimizations
Dev17 → Dev18 upgrade
17.0 → 18.0
17.0 → 18.0
Pipeline restructuring (4 parallel jobs)
Previously everything ran in a single build job (~19 min serial). Now split into:
Jobs 2-4 run in parallel after the build job completes.
Key optimizations