seleniumhq-community / docker-seleniarm

Multi-Arch (arm64/armhf/amd64) Docker images for the Selenium Grid Server
https://hub.docker.com/u/seleniarm
Other
249 stars 26 forks source link

[🚀 Feature]: Update the dockerhub "latest" tag when a new version is pushed #7

Closed vmassol closed 2 years ago

vmassol commented 2 years ago

Feature and motivation

As of today, at https://hub.docker.com/r/seleniarm/standalone-firefox/tags, latest was last reelased 4 months ago while the latest tag is [4.1.3-20220412](https://hub.docker.com/layers/standalone-firefox/seleniarm/standalone-firefox/4.1.3-20220412/images/sha256-a7349118e6a06047327540ec24fb68ca26ed89b6268ecb93a58f750a0a10dd18?context=explore) released 13 days ago.

If you could update the latest tag, that would help us and users of your images so that we could depend on latest (as we alway want to use the latest version). Right now we have to monitor https://hub.docker.com/r/seleniarm/standalone-firefox/tags regularly and use a fixed version which is painful! :)

Thanks a lot for making selenium available on ARM, that's awesome!

Usage example

See above

diemol commented 2 years ago

@vmassol How would you monitor breaking changes? E.g. When a browser version comes with a bug that for some reason we do not catch in our tests.

vmassol commented 2 years ago

@diemol Thanks for the fast answer.

When someone uses latest it means they want to use the latest version, whatever the quality of it. The fact that it's named 4.1.3-20220412 or latest doesn't change its quality ;)

Now if you wanted to provide quality tags with some additional verification or community validation or ... then you could introduce a lts -kind of tag (this is what we do in XWiki).

What's sure to me is that latest needs to represent the latest release version. WDYT?

Thanks!

vmassol commented 2 years ago

Just realized that maybe you mean that you're using latest as a quality-controlled tag? In that case, I think it would be better to use another tag name since latest is meant to represent the latest and it's nice to have such a tag for those who need it/want to be on latest.

diemol commented 2 years ago

We will eventually add the latest tag, as we already do in the SeleniumHQ/docker-selenium repo. Probably @jamesmortensen is already planning it :)

My comment was only intended to raise awareness about this situations. I have seen over time several GitHub issues where users report a bug and the comment is: "I didn't change anything". So, when that happens, we can point them to this issue, as you pointed clearly the risks of using latest.

jamesmortensen commented 2 years ago

It's going to be one of the next things I work on. I wanted to make sure there were at least automated tests in place for amd64 and arm64 and that deploying happens via the CI setup before automatically upgrading everyone who is on the latest tag. Since that work is now done, look for the latest tag to get updated soon.

jamesmortensen commented 2 years ago

Since I haven't yet figured out how to test the armv7 variant, folks should be aware that using latest on Raspberry Pi may come with some degree of risk. For whatever reason, the browsers don't run very well under QEMU emulation.

jamesmortensen commented 2 years ago

I have added the grid, browser, and driver tags to the browser images. I'll also be shortly updating the latest tag. For anyone who has issues after the latest tag is updated, the corresponding tag to use in case of rollbacks is:

Will be updating latest shortly.

jamesmortensen commented 2 years ago

Latest tag is updated to 4.1.4:20220429... Will keep this issue open for a few days.

jamesmortensen commented 2 years ago

While I'll continue to update the latest tag, at this time, I haven't found a resolution to automatically testing the containers on armhf (32 bit ARM) platforms. I attempted to run a VM via QEMU in a CircleCI. Details are documented in #9

vmassol commented 2 years ago

Thanks again.