Affected version(s)
All preview versions up to and including 2.0.103-preview.
Is this a regression?
No — the wiring has been latently broken across previews; this issue surfaces the problem and proposes the fix that needs to land with the next bv version bump.
Context
bv reads option defaults from environment variables: each OptionsService key (e.g. versionSpecChange) is converted to UPPER_SNAKE (VERSION_SPEC_CHANGE) and looked up in the environment. .github/workflows/release.yml exposes workflow_dispatch inputs that bind to env vars consumed by dotnet bv release.
Three of the four bound env vars don't match what bv actually consumes:
| Input → env var (today) |
bv option key |
Env var bv looks up |
Working? |
versionSpecChange → VERSION_SPEC_CHANGE |
versionSpecChange |
VERSION_SPEC_CHANGE |
yes |
checkPublicApi → CHECK_PUBLIC_API |
checkPublicApiFiles |
CHECK_PUBLIC_API_FILES |
no |
forceUpdateChangelog → FORCE_UPDATE_CHANGELOG |
updateChangelogOnPrerelease |
UPDATE_CHANGELOG_ON_PRERELEASE |
no |
checkChangelog → CHECK_CHANGELOG |
ensureChangelogNotEmpty |
ENSURE_CHANGELOG_NOT_EMPTY |
no |
Expected behavior
Toggling a workflow_dispatch input changes the corresponding bv release behavior.
Actual behavior
Three of the four toggles ("Check public API files", "Update changelog on preview", "Check changelog before update") are no-ops on the current published bv.
How to reproduce
Dispatch the release workflow with forceUpdateChangelog=true on a prerelease build whose 'Unreleased changes' section is empty. Expected: changelog updated (or build failed with checkChangelog=true). Actual: behavior identical to the default regardless of input value.
Configuration
Tenacom/Buildvana@main, .github/workflows/release.yml, any bv version up to and including 2.0.103-preview.
Other information
PR #261 renames the bv release options. The fix must land synchronized with the dogfood commit that pins the new bv version (otherwise the workflow runs against old bv with new option names, or new bv with old option names — both broken).
The cleanest forward-looking fix is to bind dispatch inputs to CLI args rather than env vars (e.g. dotnet bv release --bump %BUMP_INPUT% --unstable-changelog %UNSTABLE_CHANGELOG_INPUT% …). This dovetails with the planned retirement of the env-var-as-option fallback (#263).
Acceptance criteria
Affected version(s)
All preview versions up to and including
2.0.103-preview.Is this a regression?
No — the wiring has been latently broken across previews; this issue surfaces the problem and proposes the fix that needs to land with the next bv version bump.
Context
bvreads option defaults from environment variables: eachOptionsServicekey (e.g.versionSpecChange) is converted to UPPER_SNAKE (VERSION_SPEC_CHANGE) and looked up in the environment..github/workflows/release.ymlexposesworkflow_dispatchinputs that bind to env vars consumed bydotnet bv release.Three of the four bound env vars don't match what
bvactually consumes:versionSpecChange→VERSION_SPEC_CHANGEversionSpecChangeVERSION_SPEC_CHANGEcheckPublicApi→CHECK_PUBLIC_APIcheckPublicApiFilesCHECK_PUBLIC_API_FILESforceUpdateChangelog→FORCE_UPDATE_CHANGELOGupdateChangelogOnPrereleaseUPDATE_CHANGELOG_ON_PRERELEASEcheckChangelog→CHECK_CHANGELOGensureChangelogNotEmptyENSURE_CHANGELOG_NOT_EMPTYExpected behavior
Toggling a
workflow_dispatchinput changes the correspondingbv releasebehavior.Actual behavior
Three of the four toggles ("Check public API files", "Update changelog on preview", "Check changelog before update") are no-ops on the current published bv.
How to reproduce
Dispatch the release workflow with
forceUpdateChangelog=trueon a prerelease build whose 'Unreleased changes' section is empty. Expected: changelog updated (or build failed withcheckChangelog=true). Actual: behavior identical to the default regardless of input value.Configuration
Tenacom/Buildvana@main,.github/workflows/release.yml, any bv version up to and including2.0.103-preview.Other information
PR #261 renames the
bv releaseoptions. The fix must land synchronized with the dogfood commit that pins the new bv version (otherwise the workflow runs against old bv with new option names, or new bv with old option names — both broken).The cleanest forward-looking fix is to bind dispatch inputs to CLI args rather than env vars (e.g.
dotnet bv release --bump %BUMP_INPUT% --unstable-changelog %UNSTABLE_CHANGELOG_INPUT% …). This dovetails with the planned retirement of the env-var-as-option fallback (#263).Acceptance criteria
workflow_dispatchinputs inrelease.ymlactually affectbv releasebehavior.