-
-
Notifications
You must be signed in to change notification settings - Fork 358
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Introduce 'stable' docker label #740
Comments
Personally, I didn't expect this would be wanted by users - if users want stability, they should probably pin a particular stable tag, and upgrade carefully as needed :) The upgrades are somewhat likely to change the format of files, for instance if bugs are fixed or the heuristics tweaked. Those should be handled in a controlled way, not automatically. So I imagine users either want reproducible stability with pinning, or "don't mind stability" and use the latest development. That said, I'll be happy to review a PR to add a new alias tag, because it can't hurt as a middle ground :) By the way, in Go modules, I bring this up because maybe it would be more intuitive to the average Go user to turn |
Also, in terms of "latest stable", I think we should use a tag name including the major version, such as |
Oh I agree in that having v3 (or v3-stable) makes a lot of sense as well. My 'vision' is that I'd want to have 2 pipeline jobs. One that runs always (each commit etc) using latest stable, whatever version that may be. Then periodically, I'd track 'dev' monthly scheduled job, just to see where things are heading, what needs to be changed, so that when the 'stable bump' comes, I'd be ready. If I'm not, I could quickly change the tag from stable, to v3 and still be 'safe'. As for 'latest' vs 'stable', hadolint actually produces a warning, that 'hey look, very often latest is basically dev, not stable, don't use it' :) |
I see, so I think we should go for tags like I'd want to avoid |
I thing the post/prefixed variant of stable is definitely a decent idea; however the argument Firstly, if we look at the most dockery container, the docker registry container, we actually see exactly that. A few other, completely different images are for example sonarqube, busybox2 and python3 where they do a similar thing, albeit with a few flavors. Even ubuntu is doming something 'somehwat' similar, if you consider their 21.10 as 'one' version field. Even alpine does this ;) |
If there's a strong understanding of what (speaking of standards, I wonder whether the |
The v-prefix, very good question; I see a little bit of everything. I do use it for tags for example. Semver says you shouldn't but does allow it :) |
Then I'd say let's just go for |
I agree! Shall I open a MR for this? Or are you happy to do this yourself @mvdan? (I'd have to figure out your push-setup first so its probably quicker for you :) |
I'll take a look as part of the upcoming release. |
I did the last release over the holidays and didn't get to this, but still intend to. |
This way, "latest" continues as the latest development, and users wanting to follow the latest v3.x.y version can use the new "v3" tag. Also add a docker deploy test branch. Tested by pushing this commit to it earlier; the v3-test docker tag was pushed as expected. For #740.
Pushed the implementation straight to master after testing it via a dummy docker tag, as I want to release v3.4.3 today. Please feel free to review the changes after the fact, or send a follow-up PR if you can spot any improvement. I'll close this once the push of the v3.4.3 tag creates the docker tag. |
This way, "latest" continues as the latest development, and users wanting to follow the latest v3.x.y version can use the new "v3" tag. Also add a docker deploy test branch. Tested by pushing this commit to it earlier; the v3-test docker tag was pushed as expected. For #740.
Done:
|
Some people are confused by `latest` versus `v3`, so clarify that. Also document that we publish releases and Alpine variants. While here, remove the reference to the alternative Docker image, as these days it's somewhat redundant (we took ideas from it) and also currently out of date. See #740, #805, #871.
Some people are confused by `latest` versus `v3`, so clarify that. Also document that we publish releases and Alpine variants. While here, remove the reference to the alternative Docker image, as these days it's somewhat redundant (we took ideas from it) and also currently out of date. See #740, #805, #871.
Currently, we have versioned tags (good) and latest, which tracks master (also good).
However users may be happy to run latest on development branches, local scripts, or occasional scheduled pipeline runs (to be aware of upcoming changes), but for general pipeline usage, they much prefer to run stable, which in theory should be slower evolving, and less-often changing.
The
stable
tag would just track the latest tagged release, so it would be a simple alias/link if anything.This would give the opportunity, to say 'look, we want to stick to whatever @mvdan has released, but we do not want to be surprised by latest, we do have a occasional run to give us a preview of latest however and can plan and prepare for it'
The text was updated successfully, but these errors were encountered: