Skip to content
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

Enhancement: Several Docker builds pinned to specific recent chrome/chromedriver versions #567

Open
felciano opened this issue Nov 14, 2022 · 5 comments

Comments

@felciano
Copy link
Contributor

This issue is to track a new feature (or capability) request for mintapi that might provide some buffer against future chrome-based issues. It looks like there is a Docker configuration for mintapi now that allows you to run it in an isolated environment. However I assume this includes the most recent versions of chrome/chromedriver, which sometimes results in breakage.

So the idea here is to start creating multiple Docker builds, each with the latest mintapi code but with different recent versions of chrome/chromedriver. So at any point we might pick from e.g. the last 3 versions:

  • docker_mintapi_2.9_chrome_105
  • docker_mintapi_2.9_chrome_106
  • docker_mintapi_2.9_chrome_107

I haven't explored Docker myself so no idea if this is straightforward or not, but I wanted to get the discussion going to see if this seems like a good idea.

@snowskeleton
Copy link
Contributor

I like the idea behind this.

Currently with Docker, the chrome and chromedriver versions are up to Selenium. I imagine we could specify a Selenium version and that should prevent unintended upgrades.

@mrooney
Copy link
Collaborator

mrooney commented Dec 4, 2022

This seems like a good idea!

@burkematthew
Copy link
Collaborator

Instead of multiple Dockerfile, I think we could potentially have an argument based base image. That way we don't have to have ongoing upkeep of the different ones and it provides the flexibility for users to control which base to use. That being said, I haven't done enough research to know how viable it is.

@snowskeleton
Copy link
Contributor

If we want some level of stability increase with selenium, an easy solution would be to find a version that works and just stick to that version. For example with the current release, the line in Dockerfile would be changed from

FROM selenium/standalone-chrome

to

FROM selenium/standalone-chrome:4.7.0

This would get us halfway to the utopia of not having to worry about chrome versions, with the caveat being that the version chosen has to be solid. Then every few months we can bump the version, after we verify it works.

@burkematthew
Copy link
Collaborator

@snowskeleton yeah I like that approach too.

snowskeleton added a commit to snowskeleton/mintapi that referenced this issue Dec 8, 2022
per issue mintapi#567 . this locks Selenium to use chrome and chromebrowser 108.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants