Is there an existing issue for this?
Current Behavior
Builds of the current Jellyfin release don't publish the semver image tags (<SEMVER>, amd64-<SEMVER>, arm64v8-<SEMVER>).
The upstream version found by custom_version_command (jenkins-vars.yml) is 12.1+ubu2604. In the Sanitize tag stage of the Jenkinsfile:
- The sanitize
sed (s/[~,%@+;:/ ]//g) removes the +, so EXT_RELEASE_CLEAN becomes 12.1ubu2604.
- The first regex
/(\d+)\.(\d+)\.(\d+)/ doesn't match, because there are only two version components.
- The fallback regex
/(\d+)\.(\d+)(?:\.(\d+))?(.*)/ matches, but group 4 is ubu2604. The fallback only sets SEMVER when group 4 is empty (!semver[0][3] && !semver[0][4]), so SEMVER is never set.
Previous X.Y.Z releases weren't affected: the first regex isn't anchored, so 10.10.7ubu2404 still produced 10.10.7.
Expected Behavior
For 12.1+ubu2604, SEMVER should be set the same way it is for a bare X.Y version and the semver tags should be published to all registries.
Steps To Reproduce
--
Environment
CPU architecture
x86-64
Docker creation
Container logs
Is there an existing issue for this?
Current Behavior
Builds of the current Jellyfin release don't publish the semver image tags (
<SEMVER>,amd64-<SEMVER>,arm64v8-<SEMVER>).The upstream version found by
custom_version_command(jenkins-vars.yml) is12.1+ubu2604. In theSanitize tagstage of the Jenkinsfile:sed(s/[~,%@+;:/ ]//g) removes the+, soEXT_RELEASE_CLEANbecomes12.1ubu2604./(\d+)\.(\d+)\.(\d+)/doesn't match, because there are only two version components./(\d+)\.(\d+)(?:\.(\d+))?(.*)/matches, but group 4 isubu2604. The fallback only setsSEMVERwhen group 4 is empty (!semver[0][3] && !semver[0][4]), soSEMVERis never set.Previous
X.Y.Zreleases weren't affected: the first regex isn't anchored, so10.10.7ubu2404still produced10.10.7.Expected Behavior
For
12.1+ubu2604,SEMVERshould be set the same way it is for a bareX.Yversion and the semver tags should be published to all registries.Steps To Reproduce
--
Environment
--CPU architecture
x86-64
Docker creation
Container logs