diff options
-rw-r--r-- | .gitlab-ci.yml | 69 | ||||
-rw-r--r-- | Zotlabs/Module/Admin.php | 2 | ||||
-rw-r--r-- | Zotlabs/Module/Admin/Addons.php | 5 | ||||
-rw-r--r-- | Zotlabs/Widget/Settings_menu.php | 7 |
4 files changed, 55 insertions, 28 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index bf03c1763..43c65f365 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,40 +1,48 @@ # Select image from https://hub.docker.com/_/php/ -image: php:7.1 +#image: php:7.2 +# Use a prepared Hubzilla image to optimise pipeline run +image: registry.gitlab.com/dawnbreak/hubzilla/core:php7.2 + stages: - test - deploy + # Select what we should cache cache: paths: - vendor/ + - .cache/ + +# global variables for all jobs, if no job specific variables variables: - # Configure mysql service (https://hub.docker.com/_/mysql/) + # Tell composer to use the project workspace .cache folder + COMPOSER_CACHE_DIR: "$CI_PROJECT_DIR/.cache/composer" + # Ignore a Composer warning + COMPOSER_ALLOW_SUPERUSER: 1 + # Configure MySQL/MariaDB service (https://hub.docker.com/_/mysql/, https://hub.docker.com/_/mariadb/) MYSQL_DATABASE: hello_world_test MYSQL_ROOT_PASSWORD: mysql + # Configure PostgreSQL service (https://hub.docker.com/_/postgres/) + POSTGRES_DB: ci-db + POSTGRES_USER: ci-user + POSTGRES_PASSWORD: ci-pass + before_script: -# prevent error installing buggy postgresql-client package -- mkdir -p /usr/share/man/man1 /usr/share/man/man7 -- apt-get update -yqq -- apt-get install -yqq --no-install-recommends git mysql-client postgresql-client libmcrypt-dev libpq-dev libcurl4-gnutls-dev libicu-dev libvpx-dev libjpeg-dev libpng-dev libxpm-dev zlib1g-dev libfreetype6-dev libxml2-dev libexpat1-dev libbz2-dev libgmp3-dev libldap2-dev unixodbc-dev libaspell-dev libpcre3-dev libtidy-dev -# Install PHP extensions -- docker-php-ext-install mbstring mcrypt pdo_mysql pdo_pgsql curl json intl gd xml zip bz2 opcache # Install & enable Xdebug for code coverage reports - pecl install xdebug - docker-php-ext-enable xdebug -# Install and run Composer +# Install composer - curl -sS https://getcomposer.org/installer | php # Install dev libraries from composer - php composer.phar install --no-progress -# Configure PHP values, needed for phpunit code coverage HTML generation -- echo "memory_limit = 256M" > /usr/local/etc/php/conf.d/hubzilla.ini -# We test PHP7 with MySQL -test:php:mysql: +# test PHP7 with MySQL 5.7 +php7.2_mysql 1/2: stage: test services: - mysql:5.7 @@ -44,15 +52,38 @@ test:php:mysql: - echo "USE $MYSQL_DATABASE; SHOW TABLES;" | mysql --user=root --password="$MYSQL_ROOT_PASSWORD" --host=mysql "$MYSQL_DATABASE" - vendor/bin/phpunit --configuration tests/phpunit.xml --coverage-text -# test PHP7 with PostgreSQL -test:php:postgres: + +# test PHP7 with MySQL latest (8) +php7.2_mysql 2/2: + stage: test + services: + - name: mysql:latest + command: ["--default-authentication-plugin=mysql_native_password"] + script: + - echo "USE $MYSQL_DATABASE; $(cat ./install/schema_mysql.sql)" | mysql --user=root --password="$MYSQL_ROOT_PASSWORD" --host=mysql "$MYSQL_DATABASE" + - echo "SHOW DATABASES;" | mysql --user=root --password="$MYSQL_ROOT_PASSWORD" --host=mysql "$MYSQL_DATABASE" + - echo "USE $MYSQL_DATABASE; SHOW TABLES;" | mysql --user=root --password="$MYSQL_ROOT_PASSWORD" --host=mysql "$MYSQL_DATABASE" + - vendor/bin/phpunit --configuration tests/phpunit.xml --coverage-text + + +# test PHP7 with MariaDB latest (10.3) +php7.2_mariadb: + stage: test + services: + - name: mariadb:latest + alias: mysql + script: + - echo "USE $MYSQL_DATABASE; $(cat ./install/schema_mysql.sql)" | mysql --user=root --password="$MYSQL_ROOT_PASSWORD" --host=mysql "$MYSQL_DATABASE" + - echo "SHOW DATABASES;" | mysql --user=root --password="$MYSQL_ROOT_PASSWORD" --host=mysql "$MYSQL_DATABASE" + - echo "USE $MYSQL_DATABASE; SHOW TABLES;" | mysql --user=root --password="$MYSQL_ROOT_PASSWORD" --host=mysql "$MYSQL_DATABASE" + - vendor/bin/phpunit --configuration tests/phpunit.xml --coverage-text + + +# test PHP7 with PostgreSQL latest +php7.2_postgres: stage: test services: - postgres:latest - variables: - POSTGRES_DB: ci-db - POSTGRES_USER: ci-user - POSTGRES_PASSWORD: ci-pass script: - export PGPASSWORD=$POSTGRES_PASSWORD - psql --version diff --git a/Zotlabs/Module/Admin.php b/Zotlabs/Module/Admin.php index 8ccdaf4f5..88b84b9d2 100644 --- a/Zotlabs/Module/Admin.php +++ b/Zotlabs/Module/Admin.php @@ -86,7 +86,7 @@ class Admin extends \Zotlabs\Web\Controller { // list total user accounts, expirations etc. $accounts = array(); - $r = q("SELECT COUNT(*) AS total, COUNT(CASE WHEN account_expires > %s THEN 1 ELSE NULL END) AS expiring, COUNT(CASE WHEN account_expires < %s AND account_expires > '%s' THEN 1 ELSE NULL END) AS expired, COUNT(CASE WHEN (account_flags & %d)>0 THEN 1 ELSE NULL END) AS blocked FROM account", + $r = q("SELECT COUNT(CASE WHEN account_id > 0 THEN 1 ELSE NULL END) AS total, COUNT(CASE WHEN account_expires > %s THEN 1 ELSE NULL END) AS expiring, COUNT(CASE WHEN account_expires < %s AND account_expires > '%s' THEN 1 ELSE NULL END) AS expired, COUNT(CASE WHEN (account_flags & %d)>0 THEN 1 ELSE NULL END) AS blocked FROM account", db_utcnow(), db_utcnow(), dbesc(NULL_DATE), diff --git a/Zotlabs/Module/Admin/Addons.php b/Zotlabs/Module/Admin/Addons.php index b35922aef..b8e3e3a2e 100644 --- a/Zotlabs/Module/Admin/Addons.php +++ b/Zotlabs/Module/Admin/Addons.php @@ -375,6 +375,9 @@ class Addons { if($files) { foreach($files as $file) { if (is_dir($file)){ + if($file == 'addon/addon_common/') + continue; + list($tmp, $id) = array_map('trim', explode('/', $file)); $info = get_plugin_info($id); $enabled = in_array($id,\App::$plugins); @@ -476,4 +479,4 @@ class Addons { return(strcmp(strtolower($a[2]['name']),strtolower($b[2]['name']))); } -}
\ No newline at end of file +} diff --git a/Zotlabs/Widget/Settings_menu.php b/Zotlabs/Widget/Settings_menu.php index c537c3835..25b80a4b4 100644 --- a/Zotlabs/Widget/Settings_menu.php +++ b/Zotlabs/Widget/Settings_menu.php @@ -42,19 +42,12 @@ class Settings_menu { ); - $tabs[] = array( 'label' => t('Display settings'), 'url' => z_root().'/settings/display', 'selected' => ((argv(1) === 'display') ? 'active' : ''), ); - $tabs[] = array( - 'label' => t('Addon settings'), - 'url' => z_root().'/settings/featured', - 'selected' => ((argv(1) === 'featured') ? 'active' : ''), - ); - if($hublocs) { $tabs[] = array( 'label' => t('Manage locations'), |