Skip to content

More flexible version numbers (still valid semver) #58

@klonos

Description

@klonos

Using tiny int for the values of version_major/version_minor/version_patch seems to be limiting...

I initially tried creating a release for a new project, and decided to go with 1.x-1.20230726.001. The project node was created on borg, however no release node. When I tried adding a release manually (via node/add/project-release/[PROJECT_ID]), I got the following error:

SQLSTATE[22003]: Numeric value out of range: 1264 Out of range value for column 'version_minor' at row 1

I then decided to change the version to 1.x-2023.07.26+001 (the +xxx suffix is still valid semver - it's called a "build number" or "build metadata"), but got the following error from the packager (in a PACKAGING_ERROR_LOG.txt file attached to the GitHub release assets this time):

The version string "1.x-2023.07.26+001" does not match the required format of the "project_release" node type.

Next, I tried 1.x-2023.07.26-build001, but again no release on the borg side. Manually trying to create the release threw this error:

SQLSTATE[22003]: Numeric value out of range: 1264 Out of range value for column 'version_major' at row 1

So I finally settled for 1.x-23.07.26-build001 as the release number, which worked, however I would like us to allow more flexibility:

  • update the db schema, to increase the max for version_major/version_minor/version_patch from tinyint to at least smallint (ideally proper integer though).
  • allow for +xyz (plus) suffixes besides the -xyz ones already allowed (dash)

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions