From: Dylan William Hardison Date: Sun, 6 Aug 2017 18:00:04 +0000 (-0400) Subject: new circleci stuff X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=09d741dd4ed4f3155a341daac0ad90ef1d397e5f;p=thirdparty%2Fbugzilla.git new circleci stuff --- diff --git a/.circleci/config.yml b/.circleci/config.yml new file mode 100644 index 0000000000..c293f38103 --- /dev/null +++ b/.circleci/config.yml @@ -0,0 +1,10 @@ +version: 2 +jobs: + build: + working_directory: /app + docker: + - image: docker:17.06.1-ce + steps: + - setup_remote_docker + - checkout + - run: docker build . diff --git a/Dockerfile b/Dockerfile index 0c1aac13b5..77a490fa0a 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,75 +1,27 @@ -# This Source Code Form is subject to the terms of the Mozilla Public -# 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/. -# -# This Source Code Form is "Incompatible With Secondary Licenses", as -# defined by the Mozilla Public License, v. 2.0. +FROM alpine:3.6 as builder +MAINTAINER Dylan Hardison -FROM centos:7 -MAINTAINER David Lawrence +RUN apk --update add perl curl wget \ + make gcc g++ \ + perl-dev \ + libevent-dev \ + libc-dev \ + expat-dev \ + libressl-dev \ + libressl \ + mariadb-dev \ + postgresql-dev -# Environment configuration -ENV USER bugzilla -ENV HOME /home/$USER -ENV BUGS_DB_DRIVER mysql -ENV BUGZILLA_ROOT $HOME/devel/htdocs/bugzilla -ENV GITHUB_BASE_GIT https://github.com/bugzilla/bugzilla -ENV GITHUB_BASE_BRANCH master -ENV GITHUB_QA_GIT https://github.com/bugzilla/qa +RUN curl -s -L https://cpanmin.us > /usr/local/bin/cpanm && \ + chmod 755 /usr/local/bin/cpanm -# Distribution package installation -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 +COPY . /app -# User configuration -RUN useradd -m -G wheel -u 1000 -s /bin/bash $USER \ - && passwd -u -f $USER \ - && echo "bugzilla:bugzilla" | chpasswd +WORKDIR /app -# Apache configuration -RUN cp /docker_files/bugzilla.conf /etc/httpd/conf.d/bugzilla.conf \ - && chown root.root /etc/httpd/conf.d/bugzilla.conf \ - && chmod 440 /etc/httpd/conf.d/bugzilla.conf +RUN perl checksetup.pl --cpanm='default pg mysql' -# MySQL configuration -RUN cp /docker_files/my.cnf /etc/my.cnf \ - && 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=$USER --basedir=/usr --datadir=/var/lib/mysql +FROM alpine:3.6 -# Sudoer configuration -RUN cp /docker_files/sudoers /etc/sudoers \ - && chown root.root /etc/sudoers \ - && chmod 440 /etc/sudoers - -# Clone the code repo initially -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 - -# Final permissions fix -RUN chown -R $USER.$USER $HOME - -# Networking -RUN echo "NETWORKING=yes" > /etc/sysconfig/network -EXPOSE 80 -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 -RUN cp /docker_files/supervisord.conf /etc/supervisord.conf \ - && chmod 700 /etc/supervisord.conf -CMD ["/usr/bin/supervisord", "-c", "/etc/supervisord.conf"] +WORKDIR /app +COPY --from=builder /app /app diff --git a/Makefile.PL b/Makefile.PL index c5e8886ee8..c873d68bda 100644 --- a/Makefile.PL +++ b/Makefile.PL @@ -97,7 +97,7 @@ my %optional_features = ( detect_charset => { prereqs => { runtime => - { requires => { 'Encode::Detect' => 0, Encode => '2.21' } } + { requires => { 'Encode::Detect' => 0, Encode => '2.87' } } }, description => 'Automatic charset detection for text attachments' }, diff --git a/checksetup.pl b/checksetup.pl index 9afc84c7d2..536d209879 100755 --- a/checksetup.pl +++ b/checksetup.pl @@ -90,7 +90,7 @@ if (defined $switch{cpanm}) { } print "cpanm @cpanm_args \".\"\n" if !$silent; my $rv = system('cpanm', @cpanm_args, '.'); - exit 1 if $rv != 0; + exit(!!$rv); } $ENV{PERL_MM_USE_DEFAULT} = 1;