Skip to content

[🚀 Feature]: Release Node/Standalone Chrome browser version from v110 to v131 on top of Grid 4.28.1 #2620

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

Closed
VietND96 opened this issue Jan 30, 2025 · 1 comment · Fixed by #2621

Comments

@VietND96
Copy link
Member

VietND96 commented Jan 30, 2025

Help people set up Grid to enable cross-browser testing, where multiple Chrome nodes have various versions.
With the current release strategy of docker-selenium, a Node image contains a specific browser and Grid version (at the time the image was built and released).
In Grid core, some changes or improvements sometimes don't support backward compatibility, which requires Nodes and Hub in the same version or an upgrade to a specific version (e.g #2615). However, this would be a pain point for those who want to upgrade the Grid version or Node image to take new fixes, improvements, or utilities but also need to keep the old browser version in the Node image.

  1. Create a workflow to build-test-deploy Node/Standalone Chrome image with a range of versions on top of a stable Grid version.
    Noted that: in the CI, only perform a test to ensure Node can register to Hub and then a few simple tests with opening a web, clicking something, etc. It doesn't ensure full functional compatibility. So, users need to test further and decide which image tags they can upgrade or which image tags to use.
  2. Based on the CI, trigger to release the range of Chrome version 110 to 131 on top of base image 4.28.1-20250123
  3. Image tags are released can be seen under CHANGELOG/4.28.1/chrome_<version>.md in source.
  4. Update values file multiple-nodes-platform-version.yaml in Helm chart to test autoscaling with multiple browser versions also
  5. The tagging convention for these images is as follows:
    ${CHROME_VERSION}-chromedriver-${CHROMEDRIVER_VERSION}-grid-${TAG_VERSION}
    # Browser version and browser driver version plus build date
    ${CHROME_VERSION}-chromedriver-${CHROMEDRIVER_VERSION}-${BUILD_DATE}
    # Browser version and build date
    ${CHROME_VERSION}-${BUILD_DATE}
    ## Short versions
    ${CHROME_SHORT_VERSION}-chromedriver-${CHROMEDRIVER_SHORT_VERSION}-grid-${TAG_VERSION}
    # Browser version and browser driver version plus build date
    ${CHROME_SHORT_VERSION}-chromedriver-${CHROMEDRIVER_SHORT_VERSION}-${BUILD_DATE}
    # Browser version and build date
    ${CHROME_SHORT_VERSION}-${BUILD_DATE}

For example

Selenium Grid version -> 4.28.1-20250123
Chrome version -> 110.0.5481.177
Short Chrome version -> 110.0
ChromeDriver version -> 110.0.5481.77
Short ChromeDriver version -> 110.0

selenium/node-chrome:110.0.5481.177-chromedriver-110.0.5481.77-grid-4.28.1-20250123
selenium/node-chrome:110.0.5481.177-chromedriver-110.0.5481.77-20250123
selenium/node-chrome:110.0.5481.177-20250123
selenium/node-chrome:110.0-chromedriver-110.0-grid-4.28.1-20250123
selenium/node-chrome:110.0-chromedriver-110.0-20250123
selenium/node-chrome:110.0-20250123
Copy link

github-actions bot commented Mar 1, 2025

This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.

@github-actions github-actions bot locked and limited conversation to collaborators Mar 1, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
1 participant