From 39882bbafcbfa5d4c494c9de29ea1069f910e9a5 Mon Sep 17 00:00:00 2001 From: omri zaher Date: Sun, 10 Aug 2025 09:47:20 +0300 Subject: [PATCH] Refactor Chrome and ChromeDriver installation in UI testing workflow --- .github/workflows/ui-testing.yml | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ui-testing.yml b/.github/workflows/ui-testing.yml index 04a69e5a8..e01f5eff3 100644 --- a/.github/workflows/ui-testing.yml +++ b/.github/workflows/ui-testing.yml @@ -30,8 +30,29 @@ jobs: - name: Install Chrome and ChromeDriver run: | - sudo apt-get update - sudo apt-get install -y google-chrome-stable + sudo apt update + sudo apt install -y wget unzip xvfb libxi6 libgbm-dev libnss3 libxshmfence1 libasound2t64 + + # Download and install latest stable Google Chrome + wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb + sudo apt install -y ./google-chrome-stable_current_amd64.deb + + # Get Chrome version number like "139.0.7258.66" + CHROME_VERSION=$(google-chrome --version | grep -oP "\d+\.\d+\.\d+\.\d+") + + # Download matching ChromeDriver from official "chrome-for-testing" bucket (preferred) + wget -q -O chromedriver.zip "https://edgedl.me.gvt1.com/edgedl/chrome/chrome-for-testing/${CHROME_VERSION}/linux64/chromedriver-linux64.zip" + + # Unzip ChromeDriver, then move binary correctly (handles folder name) + unzip chromedriver.zip + mv */chromedriver /usr/local/bin/chromedriver + sudo chmod +x /usr/local/bin/chromedriver + + # Clean up + rm -rf chromedriver.zip google-chrome-stable_current_amd64.deb + + # Create temporary directories for Chrome user data + mkdir -p /tmp/chrome-user-data - name: Run Selenium tests env: