Current File : /home/pacjaorg/public_html/kmm/libraries/vendor/joomla/database/.drone.jsonnet
local volumes = [
    {
        name: 'composer-cache',
        path: '/tmp/composer-cache',
    },
];

local hostvolumes = [
    {
        name: 'composer-cache',
        host: { path: '/tmp/composer-cache' },
    },
];

local composer(phpversion, params) = {
    name: 'Composer',
    image: 'joomlaprojects/docker-images:php' + phpversion,
    volumes: volumes,
    commands: [
        'php -v',
        'sleep 20',
        'composer update ' + params,
    ],
};

local phpunit_common(phpversion) = {
    name: 'PHPUnit',
    image: 'joomlaprojects/docker-images:php' + phpversion,
    [if phpversion == '8.2' then 'failure']: 'ignore',
    commands: [
        'vendor/bin/phpunit --configuration phpunit.xml.dist --testdox',
    ],
};

local phpunit_mysql(phpversion, driver) = {
    name: 'PHPUnit',
    image: 'joomlaprojects/docker-images:php' + phpversion,
    [if phpversion == '8.2' then 'failure']: 'ignore',
    commands: [
        'php --ri ' + driver + ' || true',
        'sleep 20',
        'vendor/bin/phpunit --configuration phpunit.' + driver + '.xml.dist --testdox',
    ],
};

local phpunit(phpversion, driver) = {
    name: 'PHPUnit',
    image: 'joomlaprojects/docker-images:php' + phpversion,
    [if phpversion == '8.2' then 'failure']: 'ignore',
    commands: [
        'php --ri ' + driver + ' || true',
        'vendor/bin/phpunit --configuration phpunit.' + driver + '.xml.dist --testdox',
    ],
};

local phpunit_sqlsrv(phpversion) = {
    name: 'PHPUnit with MS SQL Server',
    image: 'joomlaprojects/docker-images:php' + phpversion,
    commands: [
        'apt-get update',
        'apt-get install -y software-properties-common lsb-release gnupg',
        'curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -',
        'echo "deb [arch=amd64,armhf,arm64] https://packages.microsoft.com/debian/11/prod bullseye main" >> /etc/apt/sources.list',
        'apt-get update',
        'ACCEPT_EULA=Y apt-get install -y msodbcsql18 unixodbc-dev',
        'pecl install sqlsrv && docker-php-ext-enable sqlsrv',
        'pecl install pdo_sqlsrv && docker-php-ext-enable pdo_sqlsrv',
        'php --ri sqlsrv',
        'php --ri pdo_sqlsrv',
        'vendor/bin/phpunit --configuration phpunit.sqlsrv.xml.dist --testdox',
    ],
};

local pipeline_sqlite(phpversion, driver, params) = {
    kind: 'pipeline',
    name: 'PHP ' + phpversion + ' with SQLite (' + driver + ')',
    environment: { DB: driver },
    volumes: hostvolumes,
    steps: [
        composer(phpversion, params),
        phpunit(phpversion, driver),
    ],
};

local pipeline_mysql(phpversion, driver, dbversion, params) = {
    kind: 'pipeline',
    name: 'PHP ' + phpversion + ' with MySQL ' + dbversion + ' (' + driver + ')',
    environment: { DB: driver },
    volumes: hostvolumes,
    steps: [
        composer(phpversion, params),
        phpunit_mysql(phpversion, driver),
    ],
    services: [
        {
            name: driver,
            image: 'bitnami/mysql:' + dbversion,
            environment: {
                ALLOW_EMPTY_PASSWORD: 'yes',
                MYSQL_DATABASE: 'joomla_ut',
                MYSQL_ROOT_PASSWORD: '',
                MYSQL_AUTHENTICATION_PLUGIN: 'mysql_native_password',
            },
            ports: [
                {
                    container: 3306,
                    host: 3306,
                },
            ],
        },
    ],
};

local pipeline_mariadb(phpversion, driver, dbversion, params) = {
    kind: 'pipeline',
    name: 'PHP ' + phpversion + ' with MariaDB ' + dbversion + ' (' + driver + ')',
    environment: { DB: driver },
    volumes: hostvolumes,
    steps: [
        composer(phpversion, params),
        phpunit(phpversion, driver),
    ],
    services: [
        {
            name: driver,
            image: 'mariadb:' + dbversion,
            environment: {
                MARIADB_ALLOW_EMPTY_ROOT_PASSWORD: 'yes',
                MARIADB_DATABASE: 'joomla_ut',
                MARIADB_ROOT_PASSWORD: '',
                # Provide MySQL environments variables for MariaDB < 10.2.
                MYSQL_ALLOW_EMPTY_PASSWORD: 'yes',
                MYSQL_DATABASE: 'joomla_ut',
                MYSQL_ROOT_PASSWORD: '',
            },
            ports: [
                {
                    container: 3306,
                    host: 3306,
                },
            ],
        },
    ],
};

local pipeline_postgres(phpversion, driver, dbversion, params) = {
    kind: 'pipeline',
    name: 'PHP ' + phpversion + ' with PostgreSQL ' + dbversion + ' (' + driver + ')',
    environment: { DB: driver },
    volumes: hostvolumes,
    steps: [
        composer(phpversion, params),
        phpunit(phpversion, driver),
    ],
    services: [
        {
            name: driver,
            image: 'postgres:' + dbversion,
            environment: {
                POSTGRES_HOST_AUTH_METHOD: 'trust',
                POSTGRES_PASSWORD: '',
                POSTGRES_USER: 'postgres',
            },
            ports: [
                {
                    container: 5432,
                    host: 5432,
                },
            ],
            commands: [
                'psql -U postgres -c ',
                'psql -U postgres -d joomla_ut -a -f Tests/Stubs/Schema/pgsql.sql',
            ],
        },
    ],
};

local pipeline_sqlsrv(phpversion, driver, dbversion, params) = {
    kind: 'pipeline',
    name: 'PHP ' + phpversion + ' with MS SQL Server ' + dbversion + ' (' + driver + ')',
    environment: { DB: driver },
    volumes: hostvolumes,
    steps: [
        composer(phpversion, params),
        phpunit_sqlsrv(phpversion),
    ],
    services: [
        {
            name: driver,
            image: 'mcr.microsoft.com/mssql/server:' + dbversion,
            environment: {
                ACCEPT_EULA: 'Y',
                SA_PASSWORD: 'JoomlaFramework123',
            },
            ports: [
                {
                    container: 1433,
                    host: 1433,
                },
            ],
        },
    ],
};

[
    {
        kind: 'pipeline',
        name: 'Codequality',
        volumes: hostvolumes,
        steps: [
            {
                name: 'composer',
                image: 'joomlaprojects/docker-images:php7.4',
                volumes: volumes,
                commands: [
                    'php -v',
                    'composer update',
                    'composer require phpmd/phpmd phpstan/phpstan',
                ],
            },
            {
                name: 'phpcs',
                image: 'joomlaprojects/docker-images:php7.4',
                depends: [ 'composer' ],
                commands: [
                    'vendor/bin/phpcs --config-set installed_paths vendor/joomla/coding-standards',
                    'vendor/bin/phpcs --standard=ruleset.xml src/',
                ],
            },
            {
                name: 'phpmd',
                image: 'joomlaprojects/docker-images:php7.4',
                depends: [ 'composer' ],
                failure: 'ignore',
                commands: [
                    'vendor/bin/phpmd src text cleancode',
                    'vendor/bin/phpmd src text codesize',
                    'vendor/bin/phpmd src text controversial',
                    'vendor/bin/phpmd src text design',
                    'vendor/bin/phpmd src text unusedcode',
                ],
            },
            {
                name: 'phpstan',
                image: 'joomlaprojects/docker-images:php7.4',
                depends: [ 'composer' ],
                failure: 'ignore',
                commands: [
                    'vendor/bin/phpstan analyse src',
                ],
            },
            {
                name: 'phploc',
                image: 'joomlaprojects/docker-images:php7.4',
                depends: [ 'composer' ],
                failure: 'ignore',
                commands: [
                    'phploc src',
                ],
            },
            {
                name: 'phpcpd',
                image: 'joomlaprojects/docker-images:php7.4',
                depends: [ 'composer' ],
                failure: 'ignore',
                commands: [
                    'phpcpd src',
                ],
            },
        ],
    },
    pipeline_sqlite('7.2', 'sqlite', '--prefer-stable --prefer-lowest'),
    pipeline_sqlite('7.3', 'sqlite', '--prefer-stable'),
    pipeline_sqlite('7.4', 'sqlite', '--prefer-stable'),
    pipeline_sqlite('8.0', 'sqlite', '--prefer-stable --ignore-platform-reqs'),
    pipeline_sqlite('8.1', 'sqlite', '--prefer-stable --ignore-platform-reqs'),
    pipeline_sqlite('8.2', 'sqlite', '--prefer-stable --ignore-platform-reqs'),
    pipeline_mysql('7.2', 'mysql', '5.7', '--prefer-stable --prefer-lowest'),
    pipeline_mysql('7.3', 'mysql', '5.7', '--prefer-stable'),
    pipeline_mysql('7.4', 'mysql', '5.7', '--prefer-stable'),
    pipeline_mysql('8.0', 'mysql', '5.7', '--prefer-stable --ignore-platform-reqs'),
    pipeline_mysql('8.1', 'mysql', '5.7', '--prefer-stable --ignore-platform-reqs'),
    pipeline_mysql('8.2', 'mysql', '5.7', '--prefer-stable --ignore-platform-reqs'),
    pipeline_mysql('7.3', 'mysql', '8.0', '--prefer-stable'),
    pipeline_mysql('7.4', 'mysql', '8.0', '--prefer-stable'),
    pipeline_mysql('8.0', 'mysql', '8.0', '--prefer-stable --ignore-platform-reqs'),
    pipeline_mysql('8.1', 'mysql', '8.0', '--prefer-stable --ignore-platform-reqs'),
    pipeline_mysql('8.2', 'mysql', '8.0', '--prefer-stable --ignore-platform-reqs'),
    pipeline_mysql('7.2', 'mysqli', '5.7', '--prefer-stable --prefer-lowest'),
    pipeline_mysql('7.3', 'mysqli', '5.7', '--prefer-stable'),
    pipeline_mysql('7.4', 'mysqli', '5.7', '--prefer-stable'),
    pipeline_mysql('8.0', 'mysqli', '5.7', '--prefer-stable --ignore-platform-reqs'),
    pipeline_mysql('8.1', 'mysqli', '5.7', '--prefer-stable --ignore-platform-reqs'),
    pipeline_mysql('8.2', 'mysqli', '5.7', '--prefer-stable --ignore-platform-reqs'),
    pipeline_mysql('7.3', 'mysqli', '8.0', '--prefer-stable'),
    pipeline_mysql('7.4', 'mysqli', '8.0', '--prefer-stable'),
    pipeline_mysql('8.0', 'mysqli', '8.0', '--prefer-stable --ignore-platform-reqs'),
    pipeline_mysql('8.1', 'mysqli', '8.0', '--prefer-stable --ignore-platform-reqs'),
    pipeline_mysql('8.2', 'mysqli', '8.0', '--prefer-stable --ignore-platform-reqs'),
    pipeline_mariadb('7.2', 'mariadb', '10.2', '--prefer-stable --prefer-lowest'),
    pipeline_mariadb('7.3', 'mariadb', '10.2', '--prefer-stable'),
    pipeline_mariadb('7.4', 'mariadb', '10.0', '--prefer-stable'),
    pipeline_mariadb('7.4', 'mariadb', '10.1', '--prefer-stable'),
    pipeline_mariadb('7.4', 'mariadb', '10.2', '--prefer-stable'),
    pipeline_mariadb('8.0', 'mariadb', '10.2', '--prefer-stable --ignore-platform-reqs'),
    pipeline_mariadb('8.1', 'mariadb', '10.2', '--prefer-stable --ignore-platform-reqs'),
    pipeline_mariadb('8.2', 'mariadb', '10.2', '--prefer-stable --ignore-platform-reqs'),
    pipeline_postgres('7.2', 'pgsql', '9.4', '--prefer-stable --prefer-lowest'),
    pipeline_postgres('7.2', 'pgsql', '9.5', '--prefer-stable --prefer-lowest'),
    pipeline_postgres('7.3', 'pgsql', '9.6', '--prefer-stable'),
    pipeline_postgres('7.3', 'pgsql', '10', '--prefer-stable'),
    pipeline_postgres('7.4', 'pgsql', '10', '--prefer-stable'),
    pipeline_postgres('8.0', 'pgsql', '10', '--prefer-stable --ignore-platform-reqs'),
    pipeline_postgres('8.1', 'pgsql', '10', '--prefer-stable --ignore-platform-reqs'),
    pipeline_postgres('8.2', 'pgsql', '10', '--prefer-stable --ignore-platform-reqs'),
    pipeline_postgres('7.3', 'pgsql', '11', '--prefer-stable'),
    pipeline_postgres('7.4', 'pgsql', '11', '--prefer-stable'),
    pipeline_postgres('8.0', 'pgsql', '11', '--prefer-stable --ignore-platform-reqs'),
    pipeline_postgres('8.1', 'pgsql', '11', '--prefer-stable --ignore-platform-reqs'),
    pipeline_postgres('8.2', 'pgsql', '11', '--prefer-stable --ignore-platform-reqs'),
    pipeline_sqlsrv('7.3', 'sqlsrv', '2017-latest', '--prefer-stable'),
    pipeline_sqlsrv('7.4', 'sqlsrv', '2017-latest', '--prefer-stable'),
    pipeline_sqlsrv('8.0', 'sqlsrv', '2017-latest', '--prefer-stable --ignore-platform-reqs'),
    pipeline_sqlsrv('8.1', 'sqlsrv', '2017-latest', '--prefer-stable --ignore-platform-reqs'),
    pipeline_sqlsrv('8.2', 'sqlsrv', '2017-latest', '--prefer-stable --ignore-platform-reqs'),
]
Site is undergoing maintenance

PACJA Events

Maintenance mode is on

Site will be available soon. Thank you for your patience!