Migrate Azure DevOps CI/release pipelines to azdo-pipelines v2 (.config model)#1447
Conversation
Agent-Logs-Url: https://github.com/microsoft/vscode-azureresourcegroups/sessions/1df6aa72-a17e-4a61-964f-df8d174404d2 Co-authored-by: bwateratmsft <36966225+bwateratmsft@users.noreply.github.com>
.config model)
Agent-Logs-Url: https://github.com/microsoft/vscode-azureresourcegroups/sessions/a0b01fe4-ccbd-4c14-a22a-1064b8f83c51 Co-authored-by: bwateratmsft <36966225+bwateratmsft@users.noreply.github.com>
|
Just as a heads up, I was blocked by some firewall rules while working on your feedback. Expand below for details. Warning Firewall rules blocked me from connecting to one or more addresses (expand for details)I tried to connect to the following addresses, but was blocked by firewall rules:
If you need me to access, download, or install something from one of these locations, you can either:
|
bwateratmsft
left a comment
There was a problem hiding this comment.
@copilot both pipeline files need to use the npmFeed parameter (as in microsoft/vscode-containers#471)
Agent-Logs-Url: https://github.com/microsoft/vscode-azureresourcegroups/sessions/ddc6ed82-2bb7-4036-b1e9-3d6b47f9784a Co-authored-by: bwateratmsft <36966225+bwateratmsft@users.noreply.github.com>
Updated in 1e7e925: both Warning Firewall rules blocked me from connecting to one or more addresses (expand for details)I tried to connect to the following addresses, but was blocked by firewall rules:
If you need me to access, download, or install something from one of these locations, you can either:
|
|
Example build including long-running tests: https://devdiv.visualstudio.com/DevDiv/_build/results?buildId=14125017&view=results |
There was a problem hiding this comment.
Pull request overview
Migrates this repository’s Azure DevOps CI and release pipelines from the legacy .azure-pipelines definitions to the newer azdo-pipelines v2 “.config model”, and updates federated-credentials detection so long-running pipeline tests and subscription provider initialization work with the new FC_SERVICE_CONNECTION_* environment variables.
Changes:
- Added
.config/build.ymland.config/release.ymlusingazdo-pipelines/*templates pinned tomicrosoft/vscode-azuretoolsazext-pt/v1, and removed legacy pipeline/compliance/signing files. - Updated packaging ignore rules to exclude
.config/**from the VSIX. - Updated code/tests to detect federated credentials via
FC_SERVICE_CONNECTION_NAMEand to readFC_SERVICE_CONNECTION_ID/TENANT_ID/CLIENT_ID(with fallback to legacyAzCode_*env vars).
Reviewed changes
Copilot reviewed 11 out of 12 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| test/nightly/crud.test.ts | Switches federated-credential detection to FC_SERVICE_CONNECTION_NAME for nightly long-running tests. |
| test/global.test.ts | Updates long-running test enablement logic to also key off FC_SERVICE_CONNECTION_NAME. |
| src/services/getSubscriptionProviderFactory.ts | Uses FC_SERVICE_CONNECTION_NAME (plus legacy flag fallback) to decide whether to return the AzDO subscription provider factory. |
| src/services/AzureDevOpsSubscriptionProvider.ts | Reads FC_SERVICE_CONNECTION_* env vars (with legacy fallback) for AzDO federated credential initialization. |
| .vscodeignore | Excludes .config/** from the extension package output. |
| .config/tsaoptions.json | Adds TSA configuration under the new .config location. |
| .config/build.yml | Introduces new build pipeline definition extending azdo-pipelines/1es-mb-main.yml and wires npmFeed + conditional long-running test service connection. |
| .config/release.yml | Introduces new manual release pipeline definition extending azdo-pipelines/1es-mb-release-extension.yml and wires release approval/service connections + npmFeed. |
| .azure-pipelines/SignExtension.signproj | Removed legacy signing project (no longer needed with v2 templates). |
| .azure-pipelines/release.yml | Removed legacy release pipeline YAML (replaced by .config/release.yml). |
| .azure-pipelines/compliance/PoliCheckExclusions.xml | Removed legacy compliance exclusion file (handled by new pipeline model). |
| .azure-pipelines/compliance/CredScanSuppressions.json | Removed legacy cred scan suppressions file (handled by new pipeline model). |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
This updates the repo from legacy
.azure-pipelinesdefinitions to the newazdo-pipelinesmodel used in recentvscode-containersmigrations, while preserving existing CI/release behavior and wiring. It also aligns compliance/config placement with thevscode-azuretoolsmigration guidance.Pipeline model migration (
.azure-pipelines→.config).config/build.ymlusingazdo-pipelines/1es-mb-main.yml@azExtTemplates.config/release.ymlusingazdo-pipelines/1es-mb-release-extension.yml@azExtTemplatesmicrosoft/vscode-azuretoolsazext-pt/v1Compliance + deprecated legacy cleanup
.config/tsaoptions.json.azure-pipelines/SignExtension.signproj.azure-pipelines/compliance/CredScanSuppressions.json.azure-pipelines/compliance/PoliCheckExclusions.xmlPackaging/config follow-up
.vscodeignoreto exclude.config/**(replacing.azure-pipelines/**)Repository-specific parity choices
testARMServiceConnectionfromenableLongRunningTests${{ variables.extensionReleaseApprovalEnvironment }}TeamNamedeclarations from build/release pipeline files since they are already provided byazcode.variables.ymlnpmFeed: ${{ variables.npmFeed }}to both build and release template parametersFC_SERVICE_CONNECTION_*variables (FC_SERVICE_CONNECTION_NAME,FC_SERVICE_CONNECTION_ID,FC_SERVICE_CONNECTION_TENANT_ID,FC_SERVICE_CONNECTION_CLIENT_ID) while retaining fallback compatibility for legacyAzCode_*env vars where values are consumedOriginal prompt