-
Notifications
You must be signed in to change notification settings - Fork 461
Description
MSI versioning is limited to x.x.x (major.minor.build) and as such does not support pre-release versions, or semver standards.
Today, the MSI script is broken as it assumes MSI versioning allows 4 numbers (x.x.x.x):
azure-functions-core-tools/eng/scripts/generate-msi-files.ps1
Lines 66 to 67 in 78afd8b
# If the version has -ci.x.y, convert it to .x to ensure we have a valid MSI version format | |
$cliVersion = $cliVersion -replace '-(?:ci|beta|rc|dev)\.([0-9]+)\.0$', '.$1' |
(It also doensn't support the -preview
suffix but that's besides the point)
This hasn't been an issue so far as we have never released a preview MSI package before, however if we ever intend to in future, this issue needs to be addressed before hand.
Tasks
- Design a versioning approach that supports pre-release versioning
An potential solution could be using the ado build number for all MSI versions (as suggested by the MSI version docs e.g. 4.3.235164), never including patch. Or designing a schema such as this one.
- Update the
generate-msi-files.ps1
to adhear to the new versioning standard
If we decide that we do not want to ever support MSI pre-releases (that's also fine as we have many other release channels), we should at the very least fix the current msi generator script to ensure a valid MSI version when any suffix is included.