summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Lawrence <dkl@mozilla.com>2015-06-09 17:45:47 +0200
committerDavid Lawrence <dkl@mozilla.com>2015-06-09 17:45:47 +0200
commitf1f6f3f45cd113377810cac99c32d8b0728a270a (patch)
tree9d0fd84ebc4ea15018b2339d2dbfc2a93f23554d
parentf9993e2a669e8dfef0c62f175834dbc9699ee81b (diff)
downloadbugzilla-f1f6f3f45cd113377810cac99c32d8b0728a270a.tar.gz
bugzilla-f1f6f3f45cd113377810cac99c32d8b0728a270a.tar.xz
Bug 1172953: Move contrib/docker/.* to docker/*
-rw-r--r--contrib/docker/CLOBBER1
-rw-r--r--contrib/docker/Dockerfile113
-rw-r--r--docker/Dockerfile83
-rw-r--r--docker/LICENSE (renamed from contrib/docker/LICENSE)0
-rw-r--r--docker/README.md (renamed from contrib/docker/README.md)2
-rw-r--r--docker/bugzilla.conf (renamed from contrib/docker/bugzilla.conf)0
-rw-r--r--docker/bugzilla_config.sh (renamed from contrib/docker/bugzilla_config.sh)5
-rw-r--r--docker/buildbot_step63
-rw-r--r--docker/checksetup_answers.txt (renamed from contrib/docker/checksetup_answers.txt)1
-rw-r--r--docker/fig.yml (renamed from contrib/docker/fig.yml)1
-rwxr-xr-xdocker/generate_bmo_data.pl (renamed from contrib/docker/generate_bmo_data.pl)14
-rw-r--r--docker/install_deps.sh30
-rw-r--r--docker/my.cnf (renamed from contrib/docker/my.cnf)0
-rw-r--r--docker/my_config.sh (renamed from contrib/docker/my_config.sh)0
-rw-r--r--docker/rpm_list (renamed from contrib/docker/rpm_list)5
-rwxr-xr-xdocker/runtests.sh (renamed from contrib/docker/runtests.sh)54
-rw-r--r--docker/sudoers (renamed from contrib/docker/sudoers)4
-rw-r--r--docker/supervisord.conf (renamed from contrib/docker/supervisord.conf)0
18 files changed, 234 insertions, 142 deletions
diff --git a/contrib/docker/CLOBBER b/contrib/docker/CLOBBER
deleted file mode 100644
index 35872f131..000000000
--- a/contrib/docker/CLOBBER
+++ /dev/null
@@ -1 +0,0 @@
-Update this file to force the image to be rebuilt from scratch.
diff --git a/contrib/docker/Dockerfile b/contrib/docker/Dockerfile
deleted file mode 100644
index 7d4aa2a92..000000000
--- a/contrib/docker/Dockerfile
+++ /dev/null
@@ -1,113 +0,0 @@
-FROM centos:centos7
-MAINTAINER David Lawrence <dkl@mozilla.com>
-
-ADD CLOBBER /CLOBBER
-
-# Environment configuration
-ENV container docker
-ENV BUGS_DB_DRIVER mysql
-ENV BUGS_DB_NAME bugs
-ENV BUGS_DB_PASS bugs
-ENV BUGS_DB_HOST localhost
-
-ENV BUGZILLA_USER bugzilla
-ENV BUGZILLA_HOME /home/$BUGZILLA_USER/devel/htdocs/bmo
-ENV BUGZILLA_URL http://localhost/bmo
-
-ENV GITHUB_BASE_GIT https://github.com/mozilla/webtools-bmo-bugzilla
-ENV GITHUB_BASE_BRANCH master
-ENV GITHUB_QA_GIT https://github.com/mozilla/webtools-bmo-qa
-
-ENV ADMIN_EMAIL admin@mozilla.bugs
-ENV ADMIN_PASS password
-ENV TEST_SUITE sanity
-ENV CPANM cpanm --quiet --notest --skip-satisfied
-
-# Software installation
-RUN yum -y -q update && yum clean all
-ADD rpm_list /rpm_list
-RUN yum -y -q install https://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm \
- && yum clean all
-RUN yum -y -q install epel-release \
- && yum clean all
-RUN yum -y -q install `cat /rpm_list` && yum clean all
-
-# User configuration
-RUN useradd -m -G wheel -u 1000 -s /bin/bash $BUGZILLA_USER
-RUN passwd -u -f $BUGZILLA_USER
-RUN echo "bugzilla:bugzilla" | chpasswd
-
-# sshd
-RUN mkdir -p /var/run/sshd; chmod -rx /var/run/sshd
-RUN ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key -N ''
-RUN ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key -N ''
-RUN ssh-keygen -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key -N ''
-RUN sed -ri 's/#UseDNS yes/UseDNS no/'g /etc/ssh/sshd_config
-
-# Apache configuration
-ADD bugzilla.conf /etc/httpd/conf.d/bugzilla.conf
-
-# MySQL configuration
-ADD my.cnf /etc/my.cnf
-RUN chmod 644 /etc/my.cnf; chown root.root /etc/my.cnf
-RUN rm -rf /etc/mysql
-RUN rm -rf /var/lib/mysql/*
-RUN /usr/bin/mysql_install_db --user=$BUGZILLA_USER --basedir=/usr --datadir=/var/lib/mysql
-
-# Sudoer configuration
-ADD sudoers /etc/sudoers
-RUN chown root.root /etc/sudoers; chmod 440 /etc/sudoers
-
-# Clone the code repo
-RUN su $BUGZILLA_USER -c "git clone $GITHUB_BASE_GIT -b $GITHUB_BASE_BRANCH $BUGZILLA_HOME"
-
-# Install Perl dependencies
-# Some modules are explicitly installed due to strange dependency issues
-RUN $CPANM Email::MIME::Attachment::Stripper \
- && $CPANM File::Slurp \
- && $CPANM Image::Magick@6.77 \
- && $CPANM JSON::RPC \
- && $CPANM MIME::Parser \
- && $CPANM Template::Plugin::GD::Image \
- && $CPANM Test::WWW::Selenium \
- && $CPANM TheSchwartz \
- && $CPANM XMLRPC::Lite
-RUN cd $BUGZILLA_HOME \
- && ./checksetup.pl --cpanfile \
- && $CPANM --installdeps --with-recommends --with-all-features \
- --without-feature oracle --without-feature sqlite --without-feature pg .
-
-# Bugzilla configuration
-ADD checksetup_answers.txt /checksetup_answers.txt
-ADD generate_bmo_data.pl /generate_bmo_data.pl
-ADD bugzilla_config.sh /bugzilla_config.sh
-RUN chmod 755 /bugzilla_config.sh /generate_bmo_data.pl
-RUN /bugzilla_config.sh
-
-# Final permissions fix
-RUN chmod 711 /home/$BUGZILLA_USER
-RUN chown -R $BUGZILLA_USER.$BUGZILLA_USER /home/$BUGZILLA_USER
-
-# Run any custom configuration
-ADD my_config.sh /my_config.sh
-RUN chmod 755 /my_config.sh
-RUN /my_config.sh
-
-# Networking
-RUN echo "NETWORKING=yes" > /etc/sysconfig/network
-EXPOSE 80
-EXPOSE 22
-
-# Testing script for CI
-RUN wget https://selenium-release.storage.googleapis.com/2.45/selenium-server-standalone-2.45.0.jar \
- -O /selenium-server.jar
-RUN wget https://raw.githubusercontent.com/taskcluster/buildbot-step/master/buildbot_step \
- -O /buildbot_step
-RUN chmod 755 /buildbot_step
-ADD runtests.sh /runtests.sh
-RUN chmod 755 /runtests.sh
-
-# Supervisor
-ADD supervisord.conf /etc/supervisord.conf
-RUN chmod 700 /etc/supervisord.conf
-CMD ["/usr/bin/supervisord", "-c", "/etc/supervisord.conf"]
diff --git a/docker/Dockerfile b/docker/Dockerfile
new file mode 100644
index 000000000..7c4a96d71
--- /dev/null
+++ b/docker/Dockerfile
@@ -0,0 +1,83 @@
+FROM centos:centos7
+MAINTAINER David Lawrence <dkl@mozilla.com>
+
+# Environment configuration
+ENV BUGS_DB_DRIVER mysql
+ENV BUGS_DB_NAME bugs
+ENV BUGS_DB_PASS bugs
+ENV BUGS_DB_HOST localhost
+
+ENV BUGZILLA_USER bugzilla
+ENV BUGZILLA_HOME /home/$BUGZILLA_USER
+ENV BUGZILLA_ROOT $BUGZILLA_HOME/devel/htdocs/bmo
+ENV BUGZILLA_URL http://localhost/bmo
+
+ENV GITHUB_BASE_GIT https://github.com/mozilla/webtools-bmo-bugzilla
+ENV GITHUB_BASE_BRANCH master
+ENV GITHUB_QA_GIT https://github.com/mozilla/webtools-bmo-qa
+
+ENV ADMIN_EMAIL admin@mozilla.bugs
+ENV ADMIN_PASS password
+
+# Distribution package installation
+COPY rpm_list /rpm_list
+RUN yum -y -q install https://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm \
+ epel-release && yum clean all
+RUN yum -y -q install `cat /rpm_list` && yum clean all
+
+# User configuration
+RUN useradd -m -G wheel -u 1000 -s /bin/bash $BUGZILLA_USER \
+ && passwd -u -f $BUGZILLA_USER \
+ && echo "bugzilla:bugzilla" | chpasswd
+
+# sshd
+RUN mkdir -p /var/run/sshd \
+ && chmod -rx /var/run/sshd \
+ && ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key -N '' \
+ && ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key -N '' \
+ && ssh-keygen -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key -N '' \
+ && sed -ri 's/#UseDNS yes/UseDNS no/'g /etc/ssh/sshd_config
+
+# Apache configuration
+COPY bugzilla.conf /etc/httpd/conf.d/bugzilla.conf
+
+# MySQL configuration
+COPY my.cnf /etc/my.cnf
+RUN chmod 644 /etc/my.cnf \
+ && chown root.root /etc/my.cnf \
+ && rm -rf /etc/mysql \
+ && rm -rf /var/lib/mysql/* \
+ && /usr/bin/mysql_install_db --user=$BUGZILLA_USER --basedir=/usr --datadir=/var/lib/mysql
+
+# Sudoer configuration
+COPY sudoers /etc/sudoers
+RUN chown root.root /etc/sudoers && chmod 440 /etc/sudoers
+
+# Clone the code repo
+RUN su $BUGZILLA_USER -c "git clone $GITHUB_BASE_GIT -b $GITHUB_BASE_BRANCH $BUGZILLA_ROOT"
+
+# Copy setup and test scripts
+COPY *.sh buildbot_step generate_bmo_data.pl checksetup_answers.txt /
+RUN chmod 755 /*.sh /buildbot_step
+
+# Bugzilla dependencies and setup
+RUN /install_deps.sh
+RUN /bugzilla_config.sh
+RUN /my_config.sh
+
+# Final permissions fix
+RUN chown -R $BUGZILLA_USER.$BUGZILLA_USER $BUGZILLA_HOME
+
+# Networking
+RUN echo "NETWORKING=yes" > /etc/sysconfig/network
+EXPOSE 80
+EXPOSE 22
+EXPOSE 5900
+
+# Testing scripts for CI
+ADD https://selenium-release.storage.googleapis.com/2.45/selenium-server-standalone-2.45.0.jar /selenium-server.jar
+
+# Supervisor
+COPY supervisord.conf /etc/supervisord.conf
+RUN chmod 700 /etc/supervisord.conf
+CMD ["/usr/bin/supervisord", "-c", "/etc/supervisord.conf"]
diff --git a/contrib/docker/LICENSE b/docker/LICENSE
index f0e5c79e1..f0e5c79e1 100644
--- a/contrib/docker/LICENSE
+++ b/docker/LICENSE
diff --git a/contrib/docker/README.md b/docker/README.md
index 347d7e490..1df355ba6 100644
--- a/contrib/docker/README.md
+++ b/docker/README.md
@@ -80,7 +80,7 @@ docker@boot2docker:~$ echo 'EXTRA_ARGS="--storage-driver=devicemapper"' | sudo t
docker@boot2docker:~$ sudo /etc/init.d/docker restart
```
-Also before building, you will need to change value in the
+Also before building, you will need to change value in the
`checksetup_answers.txt` file to match the IP address of the boot2docker VM.
You can find the IP address by running `boot2docker ip`.
diff --git a/contrib/docker/bugzilla.conf b/docker/bugzilla.conf
index 1b2b3f2e0..1b2b3f2e0 100644
--- a/contrib/docker/bugzilla.conf
+++ b/docker/bugzilla.conf
diff --git a/contrib/docker/bugzilla_config.sh b/docker/bugzilla_config.sh
index dc7551ab7..818e34c63 100644
--- a/contrib/docker/bugzilla_config.sh
+++ b/docker/bugzilla_config.sh
@@ -1,12 +1,15 @@
#!/bin/bash
+cd $BUGZILLA_ROOT
+
# Configure database
/usr/bin/mysqld_safe &
sleep 5
mysql -u root mysql -e "GRANT ALL PRIVILEGES ON *.* TO bugs@localhost IDENTIFIED BY 'bugs'; FLUSH PRIVILEGES;"
mysql -u root mysql -e "CREATE DATABASE bugs CHARACTER SET = 'utf8';"
-cd $BUGZILLA_HOME
+
perl checksetup.pl /checksetup_answers.txt
perl checksetup.pl /checksetup_answers.txt
perl /generate_bmo_data.pl
+
mysqladmin -u root shutdown
diff --git a/docker/buildbot_step b/docker/buildbot_step
new file mode 100644
index 000000000..a567351b8
--- /dev/null
+++ b/docker/buildbot_step
@@ -0,0 +1,63 @@
+#! /bin/bash -e
+
+buildbot_step_help() {
+ echo "Run a command and wrap it in buildbot step format"
+ echo " $0 - <buildbot step> [bash args...]"
+}
+
+bb_time() {
+ # Parser dies if this is longer then 6 chars long.
+ nano=$(date +%N | cut -c1-6)
+ echo "$(date '+%Y-%m-%d %H:%M:%S.')$nano"
+}
+
+bb_echo() {
+ echo "========= $1 ========="
+}
+
+bb_line() {
+ local type=$1 # Finished/Started
+ local step=$2 # Name of step
+ local code=$3 # Exit code
+ local duration=$4 # Elapsed time in seconds
+ local time=$(bb_time)
+
+ bb_echo "$type $step (results: $code, elapsed: $duration secs) (at $time)"
+}
+
+# Intentionally the full name of this executable so sourcing this file also
+# works as expected...
+buildbot_step() {
+ local step=$1
+ local command=${@:2}
+ local start_time=$(date +%s)
+ local exit_code=0
+
+ bb_line "Started" "$step" 0 0
+ if eval "$command";
+ then
+ exit_code=$?
+ else
+ exit_code=$?
+ fi
+
+ local end_time=$(date +%s)
+ local duration=$(($end_time-$start_time))
+
+ bb_line "Finished" "$step" $exit_code $duration
+ return $exit_code
+}
+
+
+# When this script is not being sourced invoke command directly.
+if [ "$(basename $0)" == "buildbot_step" ];
+then
+ if [ $# -lt 2 ];
+ then
+ buildbot_step_help
+ exit 1
+ fi
+ buildbot_step "$@"
+ exit $?
+fi
+
diff --git a/contrib/docker/checksetup_answers.txt b/docker/checksetup_answers.txt
index 338bd4dc0..bda62f883 100644
--- a/contrib/docker/checksetup_answers.txt
+++ b/docker/checksetup_answers.txt
@@ -3,6 +3,7 @@ $answer{'ADMIN_OK'} = 'Y';
$answer{'ADMIN_PASSWORD'} = 'password';
$answer{'ADMIN_REALNAME'} = 'Admin';
$answer{'NO_PAUSE'} = 1;
+$answer{'bugzilla_version'} = '4.2';
$answer{'create_htaccess'} = '';
$answer{'cvsbin'} = '/usr/bin/cvs';
$answer{'db_check'} = 1;
diff --git a/contrib/docker/fig.yml b/docker/fig.yml
index 25700d1ef..b4e9ed143 100644
--- a/contrib/docker/fig.yml
+++ b/docker/fig.yml
@@ -3,3 +3,4 @@ bugzilla:
ports:
- "8080:80"
- "2222:22"
+ - "5900:5900"
diff --git a/contrib/docker/generate_bmo_data.pl b/docker/generate_bmo_data.pl
index 6a5717665..45cde24f0 100755
--- a/contrib/docker/generate_bmo_data.pl
+++ b/docker/generate_bmo_data.pl
@@ -27,7 +27,7 @@ my $dbh = Bugzilla->dbh;
# set Bugzilla usage mode to USAGE_MODE_CMDLINE
Bugzilla->usage_mode(USAGE_MODE_CMDLINE);
-Bugzilla->set_user(Bugzilla::User->check({ name => 'admin@mozilla.bugs' }));
+Bugzilla->set_user(Bugzilla::User->new({ name => 'admin@mozilla.bugs' }));
##########################################################################
# Set Default User Preferences
@@ -247,7 +247,7 @@ my @products = (
description => 'For bugs in Firefox which do not fit into ' .
'other more specific Firefox components',
initialowner => 'nobody@mozilla.org',
- initialqaowner => '',
+ initialqaowner => '',
initial_cc => [],
watch_user => 'general@firefox.bugs'
}
@@ -286,12 +286,12 @@ for my $product (@products) {
foreach my $component (@{ $product->{components} }) {
if (!Bugzilla::User->new({ name => $component->{watch_user} })) {
- Bugzilla::User->create({
+ Bugzilla::User->create({
login_name => $component->{watch_user},
- cryptpassword => '*',
- });
- }
- Bugzilla->input_params({ watch_user => $component->{watch_user} });
+ cryptpassword => '*',
+ });
+ }
+ Bugzilla->input_params({ watch_user => $component->{watch_user} });
Bugzilla::Component->create({
name => $component->{name},
product => $new_product,
diff --git a/docker/install_deps.sh b/docker/install_deps.sh
new file mode 100644
index 000000000..9d50e586a
--- /dev/null
+++ b/docker/install_deps.sh
@@ -0,0 +1,30 @@
+#!/bin/bash
+
+cd $BUGZILLA_ROOT
+
+# Install Perl dependencies
+CPANM="cpanm --quiet --notest --skip-satisfied"
+
+# Force version due to problem with CentOS ImageMagick-devel
+$CPANM Image::Magick@6.77
+
+perl checksetup.pl --cpanfile
+$CPANM --installdeps --with-recommends --with-all-features \
+ --without-feature oracle --without-feature sqlite --without-feature pg .
+
+# These are not picked up by cpanm --with-all-features for some reason
+$CPANM Template::Plugin::GD::Image
+$CPANM MIME::Parser
+$CPANM SOAP::Lite
+$CPANM JSON::RPC
+$CPANM Email::MIME::Attachment::Stripper
+$CPANM TheSchwartz
+$CPANM XMLRPC::Lite
+
+# For testing support
+$CPANM Test::WWW::Selenium
+$CPANM Pod::Coverage
+$CPANM Pod::Checker
+
+# Remove CPAN build files to minimize disk usage
+rm -rf /root/.cpanm
diff --git a/contrib/docker/my.cnf b/docker/my.cnf
index b7e035ce5..b7e035ce5 100644
--- a/contrib/docker/my.cnf
+++ b/docker/my.cnf
diff --git a/contrib/docker/my_config.sh b/docker/my_config.sh
index e35e8dd90..e35e8dd90 100644
--- a/contrib/docker/my_config.sh
+++ b/docker/my_config.sh
diff --git a/contrib/docker/rpm_list b/docker/rpm_list
index d3b024344..4a9a29e39 100644
--- a/contrib/docker/rpm_list
+++ b/docker/rpm_list
@@ -3,6 +3,7 @@ asciidoc
aspell-devel
bzip2
dblatex
+dbus-x11
docbook-style-dsssl
firefox
gcc
@@ -26,9 +27,9 @@ openssh-server
openssl-devel
passwd
patch
-perl-core
perl-App-cpanminus
perl-CPAN
+perl-core
postfix
python-sphinx
sudo
@@ -43,8 +44,8 @@ texlive-tex4ht
texlive-threeparttable
texlive-ucs
texlive-wrapfig
+tigervnc-server-minimal
unzip
vim-enhanced
wget
xmlto
-xorg-x11-server-Xvfb
diff --git a/contrib/docker/runtests.sh b/docker/runtests.sh
index 34e889174..3142056ff 100755
--- a/contrib/docker/runtests.sh
+++ b/docker/runtests.sh
@@ -3,6 +3,10 @@
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+if [ -z "$TEST_SUITE" ]; then
+ TEST_SUITE=sanity
+fi
+
set -e
# Output to log file as well as STDOUT/STDERR
@@ -10,16 +14,19 @@ exec > >(tee /runtests.log) 2>&1
echo "== Retrieving Bugzilla code"
echo "Checking out $GITHUB_BASE_GIT $GITHUB_BASE_BRANCH ..."
-mv $BUGZILLA_HOME "${BUGZILLA_HOME}.back"
-git clone $GITHUB_BASE_GIT --single-branch --depth 1 --branch $GITHUB_BASE_BRANCH $BUGZILLA_HOME
-cd $BUGZILLA_HOME
+mv $BUGZILLA_ROOT "${BUGZILLA_ROOT}.back"
+git clone $GITHUB_BASE_GIT --single-branch --depth 1 --branch $GITHUB_BASE_BRANCH $BUGZILLA_ROOT
+cd $BUGZILLA_ROOT
if [ "$GITHUB_BASE_REV" != "" ]; then
echo "Switching to revision $GITHUB_BASE_REV ..."
git checkout -q $GITHUB_BASE_REV
fi
+echo -e "\n== Checking dependencies for changes"
+/install_deps.sh
+
if [ "$TEST_SUITE" = "sanity" ]; then
- cd $BUGZILLA_HOME
+ cd $BUGZILLA_ROOT
/buildbot_step "Sanity" prove -f -v t/*.t
exit $?
fi
@@ -27,13 +34,13 @@ fi
if [ "$TEST_SUITE" = "docs" ]; then
export JADE_PUB=/usr/share/sgml
export LDP_HOME=/usr/share/sgml/docbook/dsssl-stylesheets-1.79/dtds/decls
- cd $BUGZILLA_HOME/docs
+ cd $BUGZILLA_ROOT/docs
/buildbot_step "Documentation" perl makedocs.pl --with-pdf
exit $?
fi
echo -e "\n== Cloning QA test suite"
-cd $BUGZILLA_HOME
+cd $BUGZILLA_ROOT
echo "Cloning git repo $GITHUB_QA_GIT branch $GITHUB_BASE_BRANCH ..."
git clone $GITHUB_QA_GIT -b $GITHUB_BASE_BRANCH qa
@@ -46,19 +53,28 @@ echo -e "\n== Starting memcached"
sleep 3
echo -e "\n== Updating configuration"
+mysql -u root mysql -e "CREATE DATABASE bugs_test CHARACTER SET = 'utf8';"
sed -e "s?%DB%?$BUGS_DB_DRIVER?g" --in-place qa/config/checksetup_answers.txt
sed -e "s?%DB_NAME%?bugs_test?g" --in-place qa/config/checksetup_answers.txt
sed -e "s?%USER%?$BUGZILLA_USER?g" --in-place qa/config/checksetup_answers.txt
-sed -e "s?%TRAVIS_BUILD_DIR%?$BUGZILLA_HOME?g" --in-place qa/config/selenium_test.conf
echo "\$answer{'memcached_servers'} = 'localhost:11211';" >> qa/config/checksetup_answers.txt
+if [ "$TEST_SUITE" == "checksetup" ]; then
+ cd $BUGZILLA_ROOT/qa
+ /buildbot_step "Checksetup" ./test_checksetup.pl config/config-checksetup-$BUGS_DB_DRIVER
+ exit $?
+fi
+
echo -e "\n== Running checksetup"
-cd $BUGZILLA_HOME
+cd $BUGZILLA_ROOT
./checksetup.pl qa/config/checksetup_answers.txt
./checksetup.pl qa/config/checksetup_answers.txt
+echo -e "\n== Generating bmo data"
+perl /generate_bmo_data.pl
+
echo -e "\n== Generating test data"
-cd $BUGZILLA_HOME/qa/config
+cd $BUGZILLA_ROOT/qa/config
perl generate_test_data.pl
echo -e "\n== Starting web server"
@@ -69,21 +85,29 @@ sleep 3
if [ "$TEST_SUITE" = "selenium" ]; then
export DISPLAY=:0
- echo -e "\n== Starting virtual frame buffer"
- Xvfb $DISPLAY -screen 0 1024x768x24 > /dev/null 2>&1 &
+ # Setup dbus for Firefox
+ dbus-uuidgen > /var/lib/dbus/machine-id
+
+ echo -e "\n== Starting virtual frame buffer and vnc server"
+ Xvnc $DISPLAY -screen 0 1280x1024x16 -ac -SecurityTypes=None \
+ -extension RANDR 2>&1 | tee /xvnc.log &
sleep 5
echo -e "\n== Starting Selenium server"
java -jar /selenium-server.jar -log /selenium.log > /dev/null 2>&1 &
sleep 5
- cd $BUGZILLA_HOME/qa/t
- /buildbot_step "Selenium" prove -f -v -I$BUGZILLA_HOME/lib test_*.t
+ # Set NO_TESTS=1 if just want selenium services
+ # but no tests actually executed.
+ [ $NO_TESTS ] && exit 0
+
+ cd $BUGZILLA_ROOT/qa/t
+ /buildbot_step "Selenium" prove -f -v -I$BUGZILLA_ROOT/lib test_*.t
exit $?
fi
if [ "$TEST_SUITE" = "webservices" ]; then
- cd $BUGZILLA_HOME/qa/t
- /buildbot_step "Webservices" prove -f -v -I$BUGZILLA_HOME/lib webservice_*.t
+ cd $BUGZILLA_ROOT/qa/t
+ /buildbot_step "Webservices" prove -f -v -I$BUGZILLA_ROOT/lib webservice_*.t
exit $?
fi
diff --git a/contrib/docker/sudoers b/docker/sudoers
index 04d382959..afd139090 100644
--- a/contrib/docker/sudoers
+++ b/docker/sudoers
@@ -5,5 +5,5 @@ Defaults env_keep += "LC_COLLATE LC_IDENTIFICATION LC_MEASUREMENT LC_MESSAGES
Defaults env_keep += "LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER LC_TELEPHONE"
Defaults env_keep += "LC_TIME LC_ALL LANGUAGE LINGUAS _XKB_CHARSET XAUTHORITY"
Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin
-root ALL=(ALL) ALL
-%wheel ALL=(ALL) NOPASSWD: ALL
+root ALL=(ALL) ALL
+%wheel ALL=(ALL) NOPASSWD: ALL
diff --git a/contrib/docker/supervisord.conf b/docker/supervisord.conf
index b3007daf3..b3007daf3 100644
--- a/contrib/docker/supervisord.conf
+++ b/docker/supervisord.conf