Skip to content

Comments

Update pipelines from Dev17 to Dev18#8400

Open
bschnurr wants to merge 12 commits intomainfrom
dev18-upgrade
Open

Update pipelines from Dev17 to Dev18#8400
bschnurr wants to merge 12 commits intomainfrom
dev18-upgrade

Conversation

@bschnurr
Copy link
Member

@bschnurr bschnurr commented Feb 10, 2026

PR: Upgrade pipelines from Dev17 to Dev18 + pipeline optimizations

Dev17 → Dev18 upgrade

  • FileVersionPrefix:
    17.0 → 18.0
  • Variable group: PTVS-Dev17 → PTVS-Dev18
  • Pool: VSEngSS-MicroBuild2022-1ES → VSEng-MicroBuildVSStable
  • VisualStudio demand:
    17.0 → 18.0
  • Integration tests source: PTVS-Build-Dev17 → PTVS-Build-Dev18

Pipeline restructuring (4 parallel jobs)

Previously everything ran in a single build job (~19 min serial). Now split into:

  1. Build — product only (no tests, no installer)
  2. Installer & Bootstrapper — separate job, downloads build artifacts, conditional on non-PR or buildInstaller parameter
  3. Test (Glass) — separate job on windows-latest pool, no package restore needed
  4. NuGet Package — separate job, downloads build artifacts, builds/signs/publishes NuGet

Jobs 2-4 run in parallel after the build job completes.

Key optimizations

  • buildInstaller parameter — PR builds skip installer/bootstrapper by default (opt-in)
  • Test job uses windows-latest — lighter pool, no VS/MSBuild needed
  • Removed unnecessary package restore from test job (glass tests only need Python + binaries)
  • Removed test build from build job (glass tests don't need test binaries)
  • Re-enabled glass tests with continueOnError: true (non-blocking)
  • Removed all Non-PR step conditionals — steps run unconditionally

@bschnurr bschnurr requested a review from a team as a code owner February 10, 2026 23:04
@bschnurr
Copy link
Member Author

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@bschnurr
Copy link
Member Author

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@bschnurr
Copy link
Member Author

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@bschnurr
Copy link
Member Author

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@bschnurr bschnurr force-pushed the dev18-upgrade branch 2 times, most recently from 7c9a598 to f2458bc Compare February 12, 2026 03:52
@bschnurr
Copy link
Member Author

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@bschnurr
Copy link
Member Author

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@bschnurr bschnurr force-pushed the dev18-upgrade branch 2 times, most recently from d950695 to 36ef4e1 Compare February 12, 2026 17:40
@bschnurr
Copy link
Member Author

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@bschnurr
Copy link
Member Author

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@bschnurr
Copy link
Member Author

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@bschnurr
Copy link
Member Author

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@bschnurr
Copy link
Member Author

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@bschnurr
Copy link
Member Author

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@bschnurr bschnurr closed this Feb 14, 2026
@bschnurr bschnurr reopened this Feb 14, 2026
@bschnurr
Copy link
Member Author

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@bschnurr bschnurr closed this Feb 14, 2026
@bschnurr bschnurr reopened this Feb 14, 2026
- 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
@bschnurr
Copy link
Member Author

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@bschnurr
Copy link
Member Author

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

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

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.

@bschnurr
Copy link
Member Author

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@sonarqubecloud
Copy link

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant