fix: reduce CI pipeline warnings (Phase 1 & 2)#7771
Conversation
Phase 1: Upgrade PublishCodeCoverageResults@1 to @2 - Remove deprecated codeCoverageTool input (v2 auto-detects) - Add pathToSources for proper source mapping Phase 2a: Fix MSI compiler flag warnings (16 D9002 warnings) - Replace raw /GUARD:CF in AdditionalOptions with MSBuild ControlFlowGuard property for all configurations - Remove redundant linker /GUARD:CF (property handles both) Phase 2b: Suppress intentional WiX ICE warnings (4 warnings) - Suppress ICE40 (REINSTALLMODE=amus is intentional) - Suppress ICE105 (dual per-user/per-machine install model) - Add detailed comments explaining suppression rationale Fixes #4668 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
Pull request overview
This PR reduces Azure DevOps CI pipeline warnings by updating a deprecated code coverage publishing task, fixing MSBuild flag usage that was generating compiler warnings, and suppressing specific WiX ICE warnings with documented rationale.
Changes:
- Upgraded Azure DevOps
PublishCodeCoverageResultstask from@1to@2and adjusted inputs for source mapping. - Replaced raw
/GUARD:CFusage in the Windows custom action VC++ project with the MSBuild CFG property to prevent compiler warning spam. - Suppressed WiX ICE40/ICE105 warnings in the MSI project with rationale comments and retained platform-specific ICE39 suppression.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| eng/pipelines/templates/stages/code-coverage-upload.yml | Updates code coverage publishing task version and inputs to reduce pipeline warnings. |
| cli/installer/windows/azd.wixproj | Suppresses specific WiX ICE warnings (with rationale) to reduce MSI build warning noise. |
| cli/installer/windows-actions/actions.vcxproj | Adjusts CFG enablement to avoid invalid compiler options causing repeated warnings during MSI custom action build. |
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…on 2) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
jongio
left a comment
There was a problem hiding this comment.
Build-infra changes look clean. The MSBuild <ControlFlowGuard> property is the right replacement for the raw /GUARD:CF flag, and the ICE suppression comments accurately reference azd.wxs:55, :74, and :104-105 (verified).
One thing blocking merge that's unrelated to the code: the PR Governance check is failing because the PR body uses "Addresses #4668" rather than a keyword GitHub recognizes for auto-linking. Changing that line to Fixes #4668 (the commit message already uses Fixes) should clear the check.
📋 Prioritization NoteThanks for the contribution! The linked issue isn't in the current milestone yet. |
Azure Dev CLI Install InstructionsInstall scriptsMacOS/Linux
bash: pwsh: WindowsPowerShell install MSI install Standalone Binary
MSI
Documentationlearn.microsoft.com documentationtitle: Azure Developer CLI reference
|

Summary
Resolves #7781
Addresses #4668 — reduces CI pipeline warnings by ~22 (from 114 total).
Full analysis: Azure/azure-dev-pr#1780
Changes
Phase 1: Deprecated Task Upgrade (2 warnings)
eng/pipelines/templates/stages/code-coverage-upload.yml: UpgradePublishCodeCoverageResults@1→@2codeCoverageToolinput (v2 auto-detects format)pathToSourcesfor proper source mapping in HTML reportsPhase 2a: MSI Compiler Flag Fix (16 warnings)
cli/installer/windows-actions/actions.vcxproj: Replace raw/GUARD:CFin<AdditionalOptions>with the MSBuild<ControlFlowGuard>Guard</ControlFlowGuard>propertyD9002: ignoring unknown optionwarnings (/GU,/GD,/G:,/GC)/Gsub-options by the compilerPhase 2b: WiX ICE Warning Suppression (4 warnings)
cli/installer/windows/azd.wixproj: SuppressICE40andICE105with detailed rationale commentsREINSTALLMODE=amusis intentionally set to force overwrite of unversioned files (azd.exe)ALLUSERS=2,InstallScope="perUser") with optional per-machine requires both HKCU and HKLM registry entriesTesting
These are build infrastructure changes (pipeline YAML, MSBuild project, WiX project) — no Go code changes. Verification requires a CI pipeline run to confirm warnings are eliminated.
Remaining Phases