Add global continuousDeployment setting#2173
Open
StefanMaron wants to merge 3 commits intomicrosoft:mainfrom
Open
Add global continuousDeployment setting#2173StefanMaron wants to merge 3 commits intomicrosoft:mainfrom
StefanMaron wants to merge 3 commits intomicrosoft:mainfrom
Conversation
Add documentation for the new top-level `continuousDeployment` setting that provides a global default for all environments, overridable per environment via DeployTo<name>.ContinuousDeployment.
Contributor
There was a problem hiding this comment.
Pull request overview
Documents the new global continuousDeployment repository setting and clarifies how it interacts with per-environment continuous deployment defaults/overrides.
Changes:
- Adds a new settings table row documenting
continuousDeployment. - Describes precedence between global default, per-environment name convention defaults, and per-environment overrides.
- Provides a suggested configuration pattern for org-wide opt-out with per-environment opt-in.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Allow users to set a global `continuousDeployment` default at the repository or organization settings level, rather than requiring per-environment `DeployTo<name>.ContinuousDeployment` entries for every environment. The new top-level `continuousDeployment` setting acts as a fallback: it is applied to an environment only when no per-environment setting is present. Per-environment DeployTo<name>.ContinuousDeployment still takes precedence, preserving full backwards compatibility. Setting `continuousDeployment: false` in an organization settings variable (ALGoOrgSettings) disables automatic CD across all repos and all environments, while leaving the manual Publish To Environment workflow unaffected (it uses type 'Publish', which ignores this flag). The schema allows boolean and null to match the runtime semantics, where null means "unset - fall back to name-based convention".
…atch existing DeployTo<name> property docs
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #2172
Summary
Adds a top-level
continuousDeploymentsetting that provides a global default for all environments, filling the gap between per-environmentDeployTo<name>.ContinuousDeploymentand having no way to set this globally.Priority order (lowest → highest):
(PROD)/(FAT)→ false, otherwise → true) — unchanged defaultcontinuousDeploymentsetting — newDeployTo<name>.ContinuousDeployment— unchanged, still winsPrimary use case: Set
"continuousDeployment": falsein the org-levelALGoOrgSettingsvariable to disable automatic CD across all repositories and all environments with a single setting. Individual environments can opt back in viaDeployTo<name>: { continuousDeployment: true }.The
Publish To Environmentworkflow is unaffected — it usestype: 'Publish'which ignorescontinuousDeploymententirely.Changes
Actions/DetermineDeploymentEnvironments/DetermineDeploymentEnvironments.ps1: After per-environment settings are applied, fall back tosettings.continuousDeploymentif the per-environment value is stillnullActions/.Modules/ReadSettings.psm1: AddcontinuousDeployment = $nullto default settingsActions/.Modules/settings.schema.json: Add schema entry withtype: ["boolean", "null"]— allowsnullto explicitly "unset" the global default, consistent with runtime semanticsTests/DetermineDeploymentEnvironments.Test.ps1: Four new test cases covering the new behaviourScenarios/settings.md: Documentation for the new settingTest Plan
continuousDeployment: false→ all environments skipped for CD, EnvironmentCount = 0continuousDeployment: false→ Publish To Environment still includes environmentscontinuousDeployment: false+ per-envDeployTo<name>: { continuousDeployment: true }→ only that environment included(PROD)excluded, others included)