summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Lawrence <dkl@mozilla.com>2016-02-26 16:05:39 +0100
committerDavid Lawrence <dkl@mozilla.com>2016-02-26 16:05:39 +0100
commit6f70920f2d2bb038a371e3cb3debff44f7001fa8 (patch)
tree7deae676cde99def8074a78c207cd2809fc22118
parentc664718ef5e857144479859546d998f1465b830b (diff)
downloadbugzilla-6f70920f2d2bb038a371e3cb3debff44f7001fa8.tar.gz
bugzilla-6f70920f2d2bb038a371e3cb3debff44f7001fa8.tar.xz
Bug 1250043 - Updated docker config to use new method if installing dependencies (Makefile.PL)
-rw-r--r--Dockerfile5
-rw-r--r--Makefile.PL7
-rwxr-xr-xdocker_files/install_deps.sh15
-rw-r--r--docker_files/rpm_list23
-rwxr-xr-xdocker_files/runtests.sh5
5 files changed, 23 insertions, 32 deletions
diff --git a/Dockerfile b/Dockerfile
index 36236e771..0c1aac13b 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -5,7 +5,7 @@
# This Source Code Form is "Incompatible With Secondary Licenses", as
# defined by the Mozilla Public License, v. 2.0.
-FROM centos
+FROM centos:7
MAINTAINER David Lawrence <dkl@mozilla.com>
# Environment configuration
@@ -21,6 +21,7 @@ ENV GITHUB_QA_GIT https://github.com/bugzilla/qa
COPY docker_files /docker_files
RUN yum -y -q update \
&& yum -y -q install https://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm epel-release \
+ && yum -y -q groupinstall "Development Tools" \
&& yum -y -q install `cat /docker_files/rpm_list` \
&& yum clean all
@@ -51,6 +52,8 @@ RUN cp /docker_files/sudoers /etc/sudoers \
RUN su $USER -c "git clone $GITHUB_BASE_GIT -b $GITHUB_BASE_BRANCH $BUGZILLA_ROOT"
# Bugzilla dependencies and setup
+ADD https://raw.githubusercontent.com/miyagawa/cpanminus/master/cpanm /usr/local/bin/cpanm
+RUN chmod 755 /usr/local/bin/cpanm
RUN /bin/bash /docker_files/install_deps.sh
RUN /bin/bash /docker_files/bugzilla_config.sh
RUN /bin/bash /docker_files/my_config.sh
diff --git a/Makefile.PL b/Makefile.PL
index ccd78f880..9157b2358 100644
--- a/Makefile.PL
+++ b/Makefile.PL
@@ -236,7 +236,12 @@ WriteMakefile(
MIN_PERL_VERSION => '5.10.1',
CONFIGURE_REQUIRES => { 'ExtUtils::MakeMaker' => '6.55' },
PREREQ_PM => \%requires,
- TEST_REQUIRES => { 'Test::More' => 0, 'Pod::Coverage' => 0, 'Test::Perl::Critic' => 0, },
+ TEST_REQUIRES => {
+ 'Test::More' => 0,
+ 'Pod::Checker' => 0,
+ 'Pod::Coverage' => 0,
+ 'Test::Perl::Critic' => 0
+ },
META_MERGE => {
"meta-spec" => { url => "http://search.cpan.org/perldoc?CPAN::Meta::Spec", version => "2" },
dynamic_config => 1,
diff --git a/docker_files/install_deps.sh b/docker_files/install_deps.sh
index 4b233d569..4d9a126ac 100755
--- a/docker_files/install_deps.sh
+++ b/docker_files/install_deps.sh
@@ -9,25 +9,18 @@
cd $BUGZILLA_ROOT
# Install Perl dependencies
-CPANM="cpanm --quiet --notest --skip-satisfied"
+CPANM="cpanm -l local --quiet --skip-satisfied"
-$CPANM --installdeps --with-recommends --with-all-features \
+$CPANM --installdeps --with-all-features \
--without-feature oracle --without-feature sqlite --without-feature pg .
-# FIXME: These cause error when being installed using cpanfile
-$CPANM HTML::Formatter
-$CPANM HTML::FormatText::WithLinks
-
# Building PDF documentation
if [ ! -x "/usr/bin/rst2pdf" ]; then
pip install rst2pdf
fi
-# For testing support
-$CPANM JSON::XS
-$CPANM Test::WWW::Selenium
-$CPANM Pod::Coverage
-$CPANM Pod::Checker
+# For UI testing support (--notest because it tries to connect to a running server)
+$CPANM --notest Test::WWW::Selenium
# Remove CPAN build files to minimize disk usage
rm -rf ~/.cpanm
diff --git a/docker_files/rpm_list b/docker_files/rpm_list
index ec97dda10..2eb2948ea 100644
--- a/docker_files/rpm_list
+++ b/docker_files/rpm_list
@@ -1,34 +1,23 @@
-aspell-devel
+ImageMagick-perl
dbus-x11
-dejavu-sans-mono-fonts
+expat-devel
firefox
-gcc
-gcc-c++
gd-devel
-git
-gmp-devel
-graphviz
+httpd-devel
java-1.7.0-openjdk
-make
memcached
mod_perl
-mod_perl-devel
mysql-community-devel
mysql-community-server
+openssl
openssl-devel
-passwd
-patch
-perl-App-cpanminus
-perl-CPAN
perl-core
+perl-GD
postfix
+python-devel
python-pip
python-reportlab
python-sphinx
sudo
supervisor
-tar
tigervnc-server-minimal
-unzip
-vim-enhanced
-wget
diff --git a/docker_files/runtests.sh b/docker_files/runtests.sh
index 37dfcfa7e..c15dca9ee 100755
--- a/docker_files/runtests.sh
+++ b/docker_files/runtests.sh
@@ -17,8 +17,9 @@ exec > >(tee /runtests.log) 2>&1
echo "== Retrieving Bugzilla code"
echo "Checking out $GITHUB_BASE_GIT $GITHUB_BASE_BRANCH ..."
-mv $BUGZILLA_ROOT "${BUGZILLA_ROOT}.back"
+mv $BUGZILLA_ROOT ${BUGZILLA_ROOT}.back
git clone $GITHUB_BASE_GIT --single-branch --depth 1 --branch $GITHUB_BASE_BRANCH $BUGZILLA_ROOT
+rsync -a ${BUGZILLA_ROOT}.back/local/ ${BUGZILLA_ROOT}/local/
cd $BUGZILLA_ROOT
if [ "$GITHUB_BASE_REV" != "" ]; then
echo "Switching to revision $GITHUB_BASE_REV ..."
@@ -73,7 +74,7 @@ cd $BUGZILLA_ROOT
echo -e "\n== Generating test data"
cd $BUGZILLA_ROOT/qa/config
-perl generate_test_data.pl
+perl -I../../local/lib/perl5 generate_test_data.pl
echo -e "\n== Starting web server"
sed -e "s?^#Perl?Perl?" --in-place /etc/httpd/conf.d/bugzilla.conf