diff --git a/Dockerfile b/Dockerfile index 5a8427a..d4d1ace 100644 --- a/Dockerfile +++ b/Dockerfile @@ -96,6 +96,27 @@ RUN echo "--- :ruby: Updating RubyGems and Bundler" \ postgresql-client default-mysql-client sqlite3 \ git nodejs=18.19.0-1nodesource1 yarn lsof \ ffmpeg mupdf mupdf-tools poppler-utils \ + # Install Chrome + && wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add - && \ + echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google-chrome.list && \ + apt-get update && apt-get install -y google-chrome-stable \ + # Install ChromeDriver + && apt-get update && apt-get install -y unzip graphviz && \ + CHROME_VERSION=$(google-chrome-stable --version | cut -d " " -f3) && \ + echo "Chrome_Version: ${CHROME_VERSION}" && \ + curl -sS -o /root/chromedriver_linux64.zip https://storage.googleapis.com/chrome-for-testing-public/$CHROME_VERSION/linux64/chromedriver-linux64.zip &&\ + unzip ~/chromedriver_linux64.zip -d ~/ && \ + rm ~/chromedriver_linux64.zip && \ + chown root:root ~/chromedriver-linux64/chromedriver && \ + chmod 755 ~/chromedriver-linux64/chromedriver && \ + mv ~/chromedriver-linux64/chromedriver /usr/bin/chromedriver \ + # Install Firefox and Geckodriver + && apt-get update && apt-get install -y --no-install-recommends \ + firefox-esr xvfb \ + && GECKODRIVER_VERSION=$(curl -s https://api.github.com/repos/mozilla/geckodriver/releases/latest | grep tag_name | cut -d '"' -f 4 | sed 's/v//') \ + && wget -q https://github.com/mozilla/geckodriver/releases/download/v$GECKODRIVER_VERSION/geckodriver-v$GECKODRIVER_VERSION-linux64.tar.gz \ + && tar -xvzf geckodriver-v$GECKODRIVER_VERSION-linux64.tar.gz -C /usr/local/bin/ \ + && rm geckodriver-v$GECKODRIVER_VERSION-linux64.tar.gz \ # clean up && apt-get clean \ && rm -rf /var/lib/apt/lists/* /tmp/* \ diff --git a/docker-compose.yml b/docker-compose.yml index 2f6222e..c473732 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -24,6 +24,9 @@ services: # Sauce Labs username and access key. Obfuscated, purposefully not encrypted. ENCODED: "U0FVQ0VfQUNDRVNTX0tFWT1hMDM1MzQzZi1lOTIyLTQwYjMtYWEzYy0wNmIzZWE2MzVjNDggU0FVQ0VfVVNFUk5BTUU9cnVieW9ucmFpbHM=" + # Overrides the on-image Browsers for integration test and uses Saucelabs + CI_TEST_SAUCELABS: + BEANSTALK_URL: "beanstalk://beanstalkd" MEMCACHE_SERVERS: "memcached:11211" MYSQL_HOST: mysql