diff options
Diffstat (limited to 'qa/Dockerfile')
-rw-r--r-- | qa/Dockerfile | 62 |
1 files changed, 13 insertions, 49 deletions
diff --git a/qa/Dockerfile b/qa/Dockerfile index fa666daa927..4fd44ba02df 100644 --- a/qa/Dockerfile +++ b/qa/Dockerfile @@ -1,33 +1,17 @@ -FROM ruby:2.7-buster +FROM registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-2.7:bundler-2.3-git-2.33-lfs-2.9-chrome-99-docker-20.10.14-gcloud-383-kubectl-1.23 LABEL maintainer="GitLab Quality Department <quality@gitlab.com>" -ENV DEBIAN_FRONTEND="noninteractive" -ENV DOCKER_VERSION="17.09.0-ce" +ENV DEBIAN_FRONTEND="noninteractive" \ + BUNDLE_WITHOUT=development ## -# Update APT sources and install dependencies +# Install system libs # -RUN sed -i "s/httpredir.debian.org/ftp.us.debian.org/" /etc/apt/sources.list -RUN apt-get update && apt-get install -y wget unzip xvfb lsb-release git git-lfs - -## -# Install Docker -# -RUN wget -q "https://download.docker.com/linux/static/stable/x86_64/docker-${DOCKER_VERSION}.tgz" && \ - tar -zxf "docker-${DOCKER_VERSION}.tgz" && mv docker/docker /usr/local/bin/docker && \ - rm "docker-${DOCKER_VERSION}.tgz" - -## -# Install client certificate - Bug in Chrome Headless: https://gitlab.com/gitlab-org/gitlab/-/issues/331492 -# -# RUN apt install -y libnss3-tools -# RUN mkdir -p $HOME/.pki/nssdb -# RUN certutil -N -d sql:$HOME/.pki/nssdb -# COPY ./qa/tls_certificates/client/client.pfx /tmp/client.pfx -# RUN pk12util -d sql:$HOME/.pki/nssdb -i /tmp/client.pfx -W '' -# RUN mkdir -p /etc/opt/chrome/policies/managed -# RUN echo '{ "AutoSelectCertificateForUrls": ["{\"pattern\":\"*\",\"filter\":{}}"] }' > /etc/opt/chrome/policies/managed/policy.json -# RUN cat /etc/opt/chrome/policies/managed/policy.json +RUN apt-get update; \ + apt-get install -y xvfb unzip; \ + apt-get -yq autoremove; \ + apt-get clean -yqq; \ + rm -rf /var/lib/apt/lists/* ## # Install root certificate @@ -37,39 +21,19 @@ ADD ./qa/tls_certificates/authority/ca.crt /usr/share/ca-certificates/gitlab/ RUN echo 'gitlab/ca.crt' >> /etc/ca-certificates.conf RUN chmod -R 644 /usr/share/ca-certificates/gitlab && update-ca-certificates -## -# Install gcloud and kubectl CLI used in Auto DevOps test to create K8s -# clusters -# -RUN export CLOUD_SDK_REPO="cloud-sdk-$(lsb_release -c -s)" && \ - echo "deb http://packages.cloud.google.com/apt $CLOUD_SDK_REPO main" | tee -a /etc/apt/sources.list.d/google-cloud-sdk.list && \ - 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 gem install bundler --no-document --conservative --version 2.3.6 -RUN bundle install --jobs=$(nproc) --retry=3 --without=development --quiet +RUN bundle install --jobs=$(nproc) --retry=3 ## # 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 |