debian-mirror-gitlab/qa/Dockerfile

70 lines
2.9 KiB
Docker
Raw Normal View History

2021-01-29 00:20:46 +05:30
FROM ruby:2.7-buster
2020-04-08 14:13:33 +05:30
LABEL maintainer="GitLab Quality Department <quality@gitlab.com>"
2020-06-23 00:09:42 +05:30
ENV DEBIAN_FRONTEND="noninteractive"
ENV DOCKER_VERSION="17.09.0-ce"
2021-03-11 19:13:27 +05:30
ENV CHROME_VERSION="87.0.4280.141-1"
ENV CHROME_DRIVER_VERSION="87.0.4280.88"
2020-06-23 00:09:42 +05:30
ENV CHROME_DEB="google-chrome-stable_${CHROME_VERSION}_amd64.deb"
ENV CHROME_URL="https://s3.amazonaws.com/gitlab-google-chrome-stable/${CHROME_DEB}"
2017-08-17 22:00:37 +05:30
2018-12-13 13:39:08 +05:30
##
2021-03-08 18:12:59 +05:30
# Update APT sources and install dependencies
2017-08-17 22:00:37 +05:30
#
RUN sed -i "s/httpredir.debian.org/ftp.us.debian.org/" /etc/apt/sources.list
2021-03-08 18:12:59 +05:30
RUN apt-get update && apt-get install -y wget unzip xvfb lsb-release git git-lfs
2017-08-17 22:00:37 +05:30
2018-03-17 18:26:18 +05:30
##
# Install Docker
#
2020-06-23 00:09:42 +05:30
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"
2018-03-17 18:26:18 +05:30
2017-08-17 22:00:37 +05:30
##
2017-09-10 17:25:29 +05:30
# Install Google Chrome version with headless support
2020-06-23 00:09:42 +05:30
# Download from our local S3 bucket, populated by https://gitlab.com/gitlab-org/gitlab-build-images/-/blob/master/scripts/cache-google-chrome
2017-08-17 22:00:37 +05:30
#
2020-06-23 00:09:42 +05:30
RUN curl --silent --show-error --fail -O "${CHROME_URL}" && \
dpkg -i "./${CHROME_DEB}" || true && \
apt-get install -f -y && \
rm -f "./${CHROME_DEB}"
2017-08-17 22:00:37 +05:30
##
# Install chromedriver to make it work with Selenium
#
2020-06-23 00:09:42 +05:30
RUN wget -q "https://chromedriver.storage.googleapis.com/${CHROME_DRIVER_VERSION}/chromedriver_linux64.zip"
2017-08-17 22:00:37 +05:30
RUN unzip chromedriver_linux64.zip -d /usr/local/bin
2020-06-23 00:09:42 +05:30
RUN rm -f chromedriver_linux64.zip
2017-08-17 22:00:37 +05:30
2021-04-17 20:07:23 +05:30
##
# Install root certificate
#
RUN mkdir -p /usr/share/ca-certificates/gitlab
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
2018-11-08 19:23:39 +05:30
##
# 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
2019-10-12 21:52:04 +05:30
WORKDIR /home/gitlab/qa
COPY ./qa/Gemfile* /home/gitlab/qa/
COPY ./config/initializers/0_inject_enterprise_edition_module.rb /home/gitlab/config/initializers/
2019-12-21 20:55:43 +05:30
# 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)
2019-12-04 20:38:33 +05:30
COPY VERSION ./ee/app/models/license.r[b] /home/gitlab/ee/app/models/
2019-10-12 21:52:04 +05:30
COPY ./lib/gitlab.rb /home/gitlab/lib/
2019-12-21 20:55:43 +05:30
COPY ./lib/gitlab/utils.rb /home/gitlab/lib/gitlab/
COPY ./INSTALLATION_TYPE ./VERSION /home/gitlab/
2021-01-29 00:20:46 +05:30
RUN cd /home/gitlab/qa/ && bundle install --jobs=$(nproc) --retry=3 --without=development --quiet
2019-10-12 21:52:04 +05:30
COPY ./qa /home/gitlab/qa
2017-08-17 22:00:37 +05:30
ENTRYPOINT ["bin/test"]