You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Sub-issue of #267. Depends on Phase 1 (#268) and #280 (BuildPipeline extraction).
Scope
Make the *Settings injectables config-aware: feed BuildvanaConfig into ReleaseSettings and the new per-step Settings (DotNetSettings + Restore/Build/Test/PackSettings, hanging off the BuildPipeline from Consolidate the build pipeline into a cohesive BuildPipeline #280), so each Resolve* establishes the flag → config → default chain. *Settings stay the source-merging injectables; config DTOs stay in Buildvana.Core.Configuration.
Wire: dotnet.configuration and release.configuration (collapsing the two hardcoded "Release" defaults; resolution --configuration → release.configuration → dotnet.configuration → "Release", with release.configuration layering over DotNetSettings.Configuration); release.checkPublicApi; release.changelogUpdates (none|stable|all) + release.emptyChangelog (substitute text, else fail) — config-only, removing the --unstable-changelog and --require-changelog flags with no CLI replacement (changelog policy is repo-stable, not per-invocation); release.dogfood; dotnet.*.args and restore.*.env (where * is one of restore/build/test/pack/nugetPush, used according to the specific invocation in DotNetService) together with dotnet.all.args and dotnet.all.env (to be merged with invocation-specific settings by DotNetService.RunDotNetAsync()).
release.generateDocsFrom (regex, short branch name) replaces mainBranch: delete GitService.MainBranch/FindMainBranch, the --main-branch global flag and its pre-parsing, and the discovery dance; the changelog permalink uses the actual CurrentBranch.
Acceptance criteria
Each option resolves flag-over-config-over-default; with no config file, behavior matches today (except the removed --main-branch).
changelogUpdates: none skips changelog updates; an empty Unreleased section is substituted from emptyChangelog when present, else fails the release.
Docs generation is gated by generateDocsFrom (default ["^main$", "^master$"] when unconfigured, matching today's main/master discovery); --main-branch and MainBranch no longer exist.
CHANGELOG: Unreleased entries for the new options; **BREAKING CHANGE** for the removed --main-branch flag.
Sub-issue of #267. Depends on Phase 1 (#268) and #280 (BuildPipeline extraction).
Scope
*Settingsinjectables config-aware: feedBuildvanaConfigintoReleaseSettingsand the new per-step Settings (DotNetSettings+Restore/Build/Test/PackSettings, hanging off theBuildPipelinefrom Consolidate the build pipeline into a cohesiveBuildPipeline#280), so eachResolve*establishes theflag → config → defaultchain.*Settingsstay the source-merging injectables; config DTOs stay inBuildvana.Core.Configuration.dotnet.configurationandrelease.configuration(collapsing the two hardcoded"Release"defaults; resolution--configuration→release.configuration→dotnet.configuration→"Release", withrelease.configurationlayering overDotNetSettings.Configuration);release.checkPublicApi;release.changelogUpdates(none|stable|all) +release.emptyChangelog(substitute text, else fail) — config-only, removing the--unstable-changelogand--require-changelogflags with no CLI replacement (changelog policy is repo-stable, not per-invocation);release.dogfood;dotnet.*.argsandrestore.*.env(where*is one ofrestore/build/test/pack/nugetPush, used according to the specific invocation inDotNetService) together withdotnet.all.argsanddotnet.all.env(to be merged with invocation-specific settings byDotNetService.RunDotNetAsync()).release.generateDocsFrom(regex, short branch name) replacesmainBranch: deleteGitService.MainBranch/FindMainBranch, the--main-branchglobal flag and its pre-parsing, and the discovery dance; the changelog permalink uses the actualCurrentBranch.Acceptance criteria
--main-branch).changelogUpdates: noneskips changelog updates; an empty Unreleased section is substituted fromemptyChangelogwhen present, else fails the release.generateDocsFrom(default["^main$", "^master$"]when unconfigured, matching today's main/master discovery);--main-branchandMainBranchno longer exist.**BREAKING CHANGE**for the removed--main-branchflag.