Add docker tags for major/minor/patch versions
Description
As of the point of writing this, v1.9.2 is the latest Jellyseerr version.
As I'm manually updating my images and not using something like "latest", I have to change the image tag every new release. It would be nice if I wouldn't have to do that for patch releases (minor releases too).
Currently these tags are provided:
1.9.2- Version 1.9.21.9.1- Version 1.9.11.8.1- Version 1.8.1latest- Version 1.9.2
Desired Behavior
I would propose a tag system like this:
1.9.2- Version 1.9.21.9.1- Version 1.9.11.9- Version 1.9.21- Version 1.9.2latest- Version 1.9.2
This would allow pinning to specific version and allows the user to choose which semver types they are okay with auto updating.
I for example would have pinned to 1.9 and would have automatically gotten the hotfix to 1.9.2.
Additional Context
No response
Code of Conduct
- [X] I agree to follow Jellyseerr's Code of Conduct
Related to #736
Was just about to create a feature request asking the exact same thing before I stumbled upon this issue.
The request: Use multiple SemVer tags when releasing new Docker images. The reasoning behind this is best explained here (Scroll down to Why This Matters)
This allows users to auto update to versions they are comfortable with (mostly useful for patch releases) while still being safe from unintended auto updates to versions that introduce breaking changes.
When using GitHub actions to publish releases, this is usually very easily added using docker/metadata-action, However after looking at the release flow for JellySeerr its using semantic-release-docker-buildx which does not seem to support automatically creating multiple versioned tags.
its using
semantic-release-docker-buildxwhich does not seem to support automatically creating multiple versioned tags.
The first option I see in the docs (here) says we can supply additional tags, and it supports templating:
| Option | Description | Type | Default |
|---|---|---|---|
dockerTags |
Optional. An array of strings allowing to specify additional tags to apply to the image. Supports templating | [Array][]<[String][]> | [latest, {{major}}-latest, {{version}}] |
@gauthier-th, I might be wrong as I don't daily dabble in JS development, but the docs you refer to are for a package named semantic-release-docker, not semantic-release-docker-buildx which is not referenced anywhere on its readme page. The arguments used by Jellyseer to invoke the module also don't seem to match the options offered by semantic-release-docker.
This is the package that seems to be used: sct/semantic-release-docker-buildx, which when looking at its code does not support the automatic creation of multiple versioned tags.
As a complete side note though; That package seems to have been abandoned 4 years ago and it might be a good idea to migrate away to something that is currently supported...
Oh yeah you're right, my bad.
As a complete side note though; That package seems to have been abandoned 4 years ago and it might be a good idea to migrate away to something that is currently supported...
Completely agree. This package is used because it's from the original creator of Overseerr, the project from which Jellyseerr was forked.
After some tinkering with these NPM build / release tools I've managed to fabricate a working solution for this issue. It's a bigger change than intended as it required migrating away from the unmaintained semantic-release-docker-buildx utility, but that's just a bonus side effect.
See PR #1610 for details.
:tada: This issue has been resolved in version 2.7.1 :tada:
The release is available on:
v2.7.1- GitHub release
Your semantic-release bot :package::rocket: