diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2021-07-20 12:55:51 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2021-07-20 12:55:51 +0300 |
commit | e8d2c2579383897a1dd7f9debd359abe8ae8373d (patch) | |
tree | c42be41678c2586d49a75cabce89322082698334 /qa/Dockerfile | |
parent | fc845b37ec3a90aaa719975f607740c22ba6a113 (diff) |
Add latest changes from gitlab-org/gitlab@14-1-stable-eev14.1.0-rc42
Diffstat (limited to 'qa/Dockerfile')
-rw-r--r-- | qa/Dockerfile | 46 |
1 files changed, 25 insertions, 21 deletions
diff --git a/qa/Dockerfile b/qa/Dockerfile index 81f207cbab9..ad4bffb3bf2 100644 --- a/qa/Dockerfile +++ b/qa/Dockerfile @@ -3,10 +3,6 @@ LABEL maintainer="GitLab Quality Department <quality@gitlab.com>" ENV DEBIAN_FRONTEND="noninteractive" ENV DOCKER_VERSION="17.09.0-ce" -ENV CHROME_VERSION="87.0.4280.141-1" -ENV CHROME_DRIVER_VERSION="87.0.4280.88" -ENV CHROME_DEB="google-chrome-stable_${CHROME_VERSION}_amd64.deb" -ENV CHROME_URL="https://s3.amazonaws.com/gitlab-google-chrome-stable/${CHROME_DEB}" ## # Update APT sources and install dependencies @@ -22,22 +18,6 @@ RUN wget -q "https://download.docker.com/linux/static/stable/x86_64/docker-${DOC rm "docker-${DOCKER_VERSION}.tgz" ## -# Install Google Chrome version with headless support -# Download from our local S3 bucket, populated by https://gitlab.com/gitlab-org/gitlab-build-images/-/blob/master/scripts/cache-google-chrome -# -RUN curl --silent --show-error --fail -O "${CHROME_URL}" && \ - dpkg -i "./${CHROME_DEB}" || true && \ - apt-get install -f -y && \ - rm -f "./${CHROME_DEB}" - -## -# Install chromedriver to make it work with Selenium -# -RUN wget -q "https://chromedriver.storage.googleapis.com/${CHROME_DRIVER_VERSION}/chromedriver_linux64.zip" -RUN unzip chromedriver_linux64.zip -d /usr/local/bin -RUN rm -f chromedriver_linux64.zip - -## # Install client certificate - Bug in Chrome Headless: https://gitlab.com/gitlab-org/gitlab/-/issues/331492 # # RUN apt install -y libnss3-tools @@ -66,8 +46,32 @@ RUN export CLOUD_SDK_REPO="cloud-sdk-$(lsb_release -c -s)" && \ curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add - && \ apt-get update -y && apt-get install google-cloud-sdk kubectl -y +## +# Install Google Chrome version with headless support +# Download from our local S3 bucket, populated by https://gitlab.com/gitlab-org/gitlab-build-images/-/blob/master/scripts/cache-google-chrome +# +# https://s3.amazonaws.com/gitlab-google-chrome-stable +ENV CHROME_VERSION="91.0.4472.77-1" +ENV CHROME_DEB="google-chrome-stable_${CHROME_VERSION}_amd64.deb" +ENV CHROME_URL="https://s3.amazonaws.com/gitlab-google-chrome-stable/${CHROME_DEB}" +RUN curl --silent --show-error --fail -O "${CHROME_URL}" && \ + dpkg -i "./${CHROME_DEB}" || true && \ + apt-get install -f -y && \ + rm -f "./${CHROME_DEB}" + WORKDIR /home/gitlab/qa + +# Install qa dependencies or fetch from cache if unchanged COPY ./qa/Gemfile* /home/gitlab/qa/ +RUN bundle install --jobs=$(nproc) --retry=3 --without=development --quiet + +## +# Fetch chromedriver based on version of chrome +# Copy rakefile first so that webdriver is not reinstalled on every code change +# https://github.com/titusfortner/webdrivers +COPY ./qa/tasks/webdrivers.rake /home/gitlab/qa/tasks/ +RUN bundle exec rake -f tasks/webdrivers.rake webdrivers:chromedriver:update + COPY ./config/initializers/0_inject_enterprise_edition_module.rb /home/gitlab/config/initializers/ # Copy VERSION to ensure the COPY succeeds to copy at least one file since ee/app/models/license.rb isn't present in FOSS # The [b] part makes ./ee/app/models/license.r[b] a pattern that is allowed to return no files (which is the case in FOSS) @@ -75,7 +79,7 @@ COPY VERSION ./ee/app/models/license.r[b] /home/gitlab/ee/app/models/ COPY ./lib/gitlab.rb /home/gitlab/lib/ COPY ./lib/gitlab/utils.rb /home/gitlab/lib/gitlab/ COPY ./INSTALLATION_TYPE ./VERSION /home/gitlab/ -RUN cd /home/gitlab/qa/ && bundle install --jobs=$(nproc) --retry=3 --without=development --quiet + COPY ./qa /home/gitlab/qa ENTRYPOINT ["bin/test"] |