From b601cfcfa707235d7f5eed43bfbe0d3956adff40 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Coutable?= Date: Tue, 6 Aug 2019 14:50:52 +0200 Subject: Update qa/Dockerfile to be built from the project root context MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Rémy Coutable --- .dockerignore | 72 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ qa/Dockerfile | 12 ++++++---- qa/Gemfile | 1 + qa/Gemfile.lock | 13 ++++++----- qa/README.md | 5 ++-- 5 files changed, 91 insertions(+), 12 deletions(-) create mode 100644 .dockerignore diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 00000000000..b8e239e4049 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,72 @@ +# `build_from_dir` can't find Dockerfile when `.dockerignore` is "*" +# See https://github.com/swipely/docker-api/issues/484 +# Ignore all folders except qa/, config/initializers and the root of lib/ since +# the files we need to build the QA image are in these folders. +# Following are the files we need: +# - ./config/initializers/0_inject_enterprise_edition_module.rb +# - ./lib/gitlab.rb +# - ./qa/ +# - ./INSTALLATION_TYPE +# - ./VERSION + +/app/ +/bin/ +/builds/ +/changelogs/ +/config/environments/ +/config/helpers/ +/config/knative/ +/config/locales/ +/config/prometheus/ +/config/routes/ +/danger/ +/db/ +/doc/ +/docker/ +/ee/ +/fixtures/ +/templates/ +/lint/ +/lib/api/ +/lib/assets/ +/lib/backup/ +/lib/banzai/ +/lib/bitbucket/ +/lib/server/ +/lib/constraints/ +/lib/registry/ +/lib/policy/ +/lib/feature/ +/lib/flowdock/ +/lib/generators/ +/lib/gitaly/ +/lib/gitlab/ +/lib/api/ +/lib/token/ +/lib/mattermost/ +/lib/teams/ +/lib/storage/ +/lib/auth/ +/lib/peek/ +/lib/prometheus/ +/lib/quality/ +/lib/rouge/ +/lib/flaky/ +/lib/zip/ +/lib/sentry/ +/lib/serializers/ +/lib/support/ +/lib/check/ +/lib/tasks/ +/locale/ +/log/ +/modules/ +/plugins/ +/public/ +/rubocop/ +/scripts/ +/shared/ +/spec/ +/symbol/ +/tmp/ +/vendor/ diff --git a/qa/Dockerfile b/qa/Dockerfile index 74be373b8e8..3309f5b6ce3 100644 --- a/qa/Dockerfile +++ b/qa/Dockerfile @@ -47,9 +47,13 @@ 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 -WORKDIR /home/qa -COPY ./Gemfile* ./ -RUN bundle install -COPY ./ ./ +WORKDIR /home/gitlab/qa +COPY ./qa/Gemfile* /home/gitlab/qa/ +COPY ./config/initializers/0_inject_enterprise_edition_module.rb /home/gitlab/config/initializers/ +COPY ./lib/gitlab.rb /home/gitlab/lib/ +COPY ./INSTALLATION_TYPE /home/gitlab/ +COPY ./VERSION /home/gitlab/ +RUN cd /home/gitlab/qa/ && bundle install +COPY ./qa /home/gitlab/qa ENTRYPOINT ["bin/test"] diff --git a/qa/Gemfile b/qa/Gemfile index 6abc0d622ad..f04ecb13879 100644 --- a/qa/Gemfile +++ b/qa/Gemfile @@ -1,6 +1,7 @@ source 'https://rubygems.org' gem 'gitlab-qa' +gem 'activesupport', '5.2.3' # This should stay in sync with the root's Gemfile gem 'pry-byebug', '~> 3.5.1', platform: :mri gem 'capybara', '~> 2.16.1' gem 'capybara-screenshot', '~> 1.0.18' diff --git a/qa/Gemfile.lock b/qa/Gemfile.lock index bf051a115b5..d582d77c5cd 100644 --- a/qa/Gemfile.lock +++ b/qa/Gemfile.lock @@ -1,9 +1,9 @@ GEM remote: https://rubygems.org/ specs: - activesupport (5.1.4) + activesupport (5.2.3) concurrent-ruby (~> 1.0, >= 1.0.2) - i18n (~> 0.7) + i18n (>= 0.7, < 2) minitest (~> 5.1) tzinfo (~> 1.1) addressable (2.5.2) @@ -28,7 +28,7 @@ GEM childprocess (0.9.0) ffi (~> 1.0, >= 1.0.11) coderay (1.1.2) - concurrent-ruby (1.0.5) + concurrent-ruby (1.1.5) diff-lcs (1.3) domain_name (0.5.20170404) unf (>= 0.0.5, < 1.0.0) @@ -38,7 +38,7 @@ GEM gitlab-qa (4.0.0) http-cookie (1.0.3) domain_name (~> 0.5) - i18n (0.9.1) + i18n (1.6.0) concurrent-ruby (~> 1.0) knapsack (1.17.1) rake @@ -50,7 +50,7 @@ GEM mime-types-data (3.2016.0521) mini_mime (1.0.0) mini_portile2 (2.4.0) - minitest (5.11.1) + minitest (5.11.3) netrc (0.11.0) nokogiri (1.10.4) mini_portile2 (~> 2.4.0) @@ -94,7 +94,7 @@ GEM childprocess (~> 0.5) rubyzip (~> 1.2, >= 1.2.2) thread_safe (0.3.6) - tzinfo (1.2.4) + tzinfo (1.2.5) thread_safe (~> 0.1) unf (0.1.4) unf_ext @@ -106,6 +106,7 @@ PLATFORMS ruby DEPENDENCIES + activesupport (= 5.2.3) airborne (~> 0.2.13) capybara (~> 2.16.1) capybara-screenshot (~> 1.0.18) diff --git a/qa/README.md b/qa/README.md index bab19665dac..97555f8d0c2 100644 --- a/qa/README.md +++ b/qa/README.md @@ -123,10 +123,11 @@ To set multiple cookies, separate them with the `;` character, for example: `QA_ Once you have made changes to the CE/EE repositories, you may want to build a Docker image to test locally instead of waiting for the `gitlab-ce-qa` or -`gitlab-ee-qa` nightly builds. To do that, you can run from this directory: +`gitlab-ee-qa` nightly builds. To do that, you can run **from the top `gitlab` +directory** (one level up from this directory): ```sh -docker build -t gitlab/gitlab-ce-qa:nightly . +docker build -t gitlab/gitlab-ce-qa:nightly --file ./qa/Dockerfile ./ ``` [GDK]: https://gitlab.com/gitlab-org/gitlab-development-kit/ -- cgit v1.2.1