diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 1dbbbf40..69a69e0f 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -234,3 +234,62 @@ test_bullseye_latestphp: - bzip2 apache2_log/test_bullseye_latestphp/* || true - mkdir -p davical_log - cp -r /var/log/davical davical_log/test_bullseye_latestphp + +test_memcache: + stage: testall + image: debian:unstable + artifacts: + paths: + - testing/report.xml + - apache2_log/* + - davical_log/* + reports: + junit: testing/report.xml + when: + always + script: + - apt-get -y update + - bash -c 'mkdir -p /usr/share/man/man{0..10}' + - apt-get -y install locales + - echo "en_NZ.UTF-8 UTF-8" >> /etc/locale.gen + - locale-gen + - echo "LANG=en_NZ.UTF-8" > /etc/default/locale + - apt-get -y install libdbd-pg-perl libyaml-perl php php-cli php-pgsql php-xml php-memcached postgresql-client postgresql libapache2-mod-php curl xmlstarlet memcached + - phpenmod memcached + - curl 'https://gitlab.com/davical-project/awl/-/archive/master/awl-master.tar.gz' | tar zxf - + - mv awl-master /usr/share/awl/ + - chown -R www-data /usr/share/awl/ + - dpkg --ignore-depends=libawl-php -i *.deb + - echo '127.0.1.1 regression mycaldav myempty' >> /etc/hosts + - rm /etc/apache2/ports.conf /etc/apache2/sites-enabled/000-default.conf && touch /etc/apache2/ports.conf + - cp testing/apache-site.conf.example /etc/apache2/sites-enabled/davical-regression.conf + - sed -i 's/\/path\/to/\/usr\/share/g' /etc/apache2/sites-enabled/davical-regression.conf + - mkdir /usr/share/davical/testing/ + - cp testing/*.php /usr/share/davical/testing/ + - rm /etc/davical/config.php + - cat testing/regression-conf.php.example | sed 's.//$c->dbg.$c->dbg.' | sed 's.//memcache ..g' > /etc/davical/regression-conf.php + - ln -s /etc/davical/regression-conf.php /etc/davical/mycaldav-conf.php + - ln -s /etc/davical/regression-conf.php /etc/davical/myempty-conf.php + - mkdir -p /var/log/davical + - chown www-data /var/log/davical + - sed -i '/peer/d' /etc/postgresql/15/main/pg_hba.conf + - echo 'local all all trust' >> /etc/postgresql/15/main/pg_hba.conf + - pg_ctlcluster 15 main start + - su postgres -c 'createuser davical_dba --createdb --createrole --superuser' + - su postgres -c 'createuser davical_app --superuser' + - su postgres -c 'createuser testrunner --superuser' + - pg_ctlcluster 15 main restart + - a2enmod rewrite + - a2enmod headers + - apache2ctl start + - /etc/init.d/memcached start + - useradd testrunner + # testrunner needs to be able to read /var/log/apache2/regression-error.log for the memcache tests. + - adduser testrunner adm + - cd testing && su testrunner -c 'IS_CI=yes ALLSUITES="regression-suite binding carddav scheduling" ./run_regressions.sh all x' + after_script: + - mkdir -p apache2_log + - cp -r /var/log/apache2 apache2_log/test_memcache + - xz apache2_log/test_memcache/* + - mkdir -p davical_log + - cp -r /var/log/davical davical_log/test_memcache diff --git a/testing/regression-conf.php.example b/testing/regression-conf.php.example index 9687a216..befa551c 100644 --- a/testing/regression-conf.php.example +++ b/testing/regression-conf.php.example @@ -19,4 +19,8 @@ // enable for debugging, as needed //$c->dbg['ALL'] = 1; -?> \ No newline at end of file + + // if testing memcache + //memcache $c->memcache_servers[] = '127.0.0.1,11211'; + //memcache $c->auth_cache = true; +?>