Conversation
Version AnalysisNext Version: Changelog: 📄 View detailed changelog in job summary |
There was a problem hiding this comment.
Pull request overview
This PR introduces parameterized pre-release version prefixes, removing the hard-coded "dev" suffix and allowing configurable pre-release version formats. Previously, pre-release versions were always formatted as 3.0.0-dev.1; now they default to 3.0.0-1 when no prefix is specified, or can use a custom prefix like 3.0.0-dev.1 when --pre-release-prefix dev is provided.
Changes:
- Added
pre_release_prefixworkflow input and command-line option to bothversionandversion-workspacecommands - Updated pre-release version calculation logic to support configurable prefixes with proper separator handling
- Updated existing tests to reflect new default behavior (no prefix) and added a test for custom prefix usage
- Refactored code to eliminate duplicate baseRef calculation in version.dart
Reviewed changes
Copilot reviewed 7 out of 7 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
.github/workflows/pr_workflow.yaml |
Added pre_release_prefix input parameter and conditional argument passing to version command |
lib/version/version_command.dart |
Added --pre-release-prefix option with help text and getter, propagated to version function |
lib/version/version_workspace_command.dart |
Added --pre-release-prefix option with help text and getter, propagated to versionWorkspace function |
lib/version/version.dart |
Added preReleasePrefix parameter, forwarded to calculateNextVersion, and refactored to use effectiveBaseRef |
lib/version/workspace_version.dart |
Added preReleasePrefix parameter and propagated it through to version function calls |
lib/version/calculate_next_version.dart |
Implemented prefix normalization, separator logic, and dynamic suffix building for pre-release versions |
test/commands/version_command_test.dart |
Updated existing test expectations to match new default behavior and added test for custom prefix |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Version AnalysisNext Version: Changelog: 📄 View detailed changelog in job summary |
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 7 out of 7 changed files in this pull request and generated no new comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Summary
This PR fixes pre-release version handling so the suffix is no longer implicitly tied to
dev.A new workflow input,
pre_release_prefix, is now wired through to the version command and into version calculation logic.Why this change
Pre-release versions were effectively hard-coded to a
devstyle suffix (for example3.0.0-dev.1), which is too restrictive for different release flows.The workflow now supports configurable prefixes while keeping a sensible default behavior.
What changed
pre_release_prefixas aworkflow_callinput in.github/workflows/pr_workflow.yaml:string""(empty)--pre-releaseis still only added whenpre_release=true--pre-release-prefix <value>is now added only whenpre_release_prefixis non-emptylib/version/version.dart):preReleasePrefixis part of theversion(...)flowcalculateNextVersion(...)Resulting behavior
pre_release: true+pre_release_prefix: "dev"→3.0.0-dev.1pre_release: true+pre_release_prefix: ""→3.0.0-1pre_release: falseignores pre-release suffixing as beforeNotes
pre_release_prefixhas a default empty value.