-
Notifications
You must be signed in to change notification settings - Fork 36
Closed
Labels
enhancementNew feature or requestNew feature or request
Description
Problem
The version is hardcoded as 0.1.0 independently in each of the 26 sub-crate Cargo.toml files. There's no single place to set the version, and the CI pipelines don't stamp versions before building. This makes it impossible to distinguish nightly from stable builds, and version bumps require editing 26+ files.
Solution
- Centralize version in workspace
Cargo.tomlunder[workspace.package] - All sub-crates inherit via
version.workspace = true - Add a
set-version.ps1script that pipelines call inpreBuildSteps - Use
$(Build.BuildId)as the nightly suffix to guarantee all platform builds in the same pipeline run get an identical version
Usage
# Stable release
./set-version.ps1 -Version 1.0.0
# Nightly (all platforms get same version via Build.BuildId)
./set-version.ps1 -Version 1.0.0 -Suffix "dev.$(Build.BuildId)"Affected Files
- Root
Cargo.toml— addversion,editionto[workspace.package] - All 26
crates/*/Cargo.toml— switch toversion.workspace = true - New
set-version.ps1script azure-pipelines/pre-release.ymlandstable.yml— add version step topreBuildSteps
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request