Bring Release Changes from v7.6.0-preview.6#26627
Conversation
Do not install dotnet-format tool for official builds ---- Configuration change to skip installing the dotnet-format tool during official builds. This pull request updates the build script to conditionally install the .NET SDK and dotnet-format tool only when not running in an official build environment. - **`/build.psm1`**: Wraps the .NET installation block in an `if (-not $env:TF_BUILD)` condition, preventing the installation of the dotnet-format tool on official builds. - **`/build.psm1`**: Maintains existing behavior for non-official builds while ensuring that official builds remain streamlined. <!-- GitOpsUserAgent=GitOps.Apps.Server.pullrequestcopilot -->
Fix Windows Signing stage and MSIX create stage ---- #### AI description (iteration 1) #### PR Classification Bug fix addressing issues in the Windows Signing and MSIX creation stages. #### PR Summary This pull request fixes the Windows signing and MSIX package creation processes. It ensures that dotnet is available early in the bootstrap and corrects YAML condition expressions for package tasks. - `build.psm1`: Moved the dotnet availability check to an earlier section, ensuring that .NET SDK dependencies are met before proceeding. - `.pipelines/templates/package-create-msix.yml`: Updated condition expressions to use variable dictionary references for both preview and stable/LTS package tasks. <!-- GitOpsUserAgent=GitOps.Apps.Server.pullrequestcopilot -->
There was a problem hiding this comment.
Pull request overview
This pull request brings in changes from the v7.6.0-preview.6 release, focusing on pipeline condition fixes and build tool installation logic improvements. The changes correct how Azure Pipelines evaluates runtime variables and optimizes when .NET global tools are installed during the bootstrap process.
Key changes:
- Fixed Azure Pipelines condition syntax to properly evaluate runtime variables using
variables['VAR']instead of string interpolation'$(VAR)' - Modified .NET global tool installation to skip in CI environments (
TF_BUILD) and restricted tool installation to specific scenarios
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
.pipelines/templates/release-MSIX-Publish.yml |
Corrected condition syntax for MSIX publishing tasks to use variables['STABLE'], variables['LTS'], and variables['PREVIEW'] instead of string interpolation, ensuring proper runtime variable evaluation |
build.psm1 |
Updated Start-PSBootstrap to skip .NET global tool installation in CI environments and changed scenario checking logic for tool installation |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
build.psm1
Outdated
| # Ensure dotnet is available | ||
| Find-Dotnet | ||
| if (-not $env:TF_BUILD) { | ||
| if ($Scenario -eq 'DotNet' -or $Scenario -eq 'Both') { |
There was a problem hiding this comment.
This is wrong. The All is a more recent change in master. The Both value in release branch is outdated. So, you should keep the master code as is, and only add the if (-not $env:TF_BUILD) { and move Find-Dotnet as the ADO PRs did.
…Shell#26627) 1. Fix the conditions used in `release-MSIX-Publish.yml` 2. Update `build.psm1` to not install dotnet format tool for ADO build.
…Shell#26627) 1. Fix the conditions used in `release-MSIX-Publish.yml` 2. Update `build.psm1` to not install dotnet format tool for ADO build.
…Shell#26627) 1. Fix the conditions used in `release-MSIX-Publish.yml` 2. Update `build.psm1` to not install dotnet format tool for ADO build.
PR Summary
This pull request primarily updates build and pipeline scripts to improve environment variable handling and streamline .NET tool installation logic. The changes ensure more robust and accurate behavior during CI/CD and local development scenarios.
Pipeline condition improvements:
.pipelines/templates/release-MSIX-Publish.ymlto usevariables['STABLE'],variables['LTS'], andvariables['PREVIEW']instead of string interpolation (e.g.,'$(STABLE)'). This makes the condition checks more reliable and consistent in Azure Pipelines. [1] [2].NET tool installation logic:
Start-PSBootstrapfunction inbuild.psm1to only install .NET global tools when not running in a CI environment ($env:TF_BUILD), and only when the scenario isDotNetorBoth. This prevents unnecessary installations in CI and clarifies when tools are installed locally.PR Context
PR Checklist
.h,.cpp,.cs,.ps1and.psm1files have the correct copyright header