feature: no-code anonymizers packs #607
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: "Continuous Integration" | |
| on: | |
| pull_request: | |
| paths: | |
| - .gitattributes | |
| - .github/workflows/continuous-integration.yml | |
| - composer.* | |
| - phpunit.xml.dist | |
| - src/** | |
| - tests/** | |
| push: | |
| branches: | |
| - "main" | |
| paths: | |
| - .github/workflows/continuous-integration.yml | |
| - composer.* | |
| - phpunit.xml.dist | |
| - src/** | |
| - tests/** | |
| jobs: | |
| phpunit-smoke-tests: | |
| name: "PHPUnit with PHP version matrix" | |
| runs-on: ubuntu-latest | |
| container: | |
| image: makinacorpus/dbtoolsbundle-ci:main | |
| strategy: | |
| matrix: | |
| php-version: | |
| - "8.1" | |
| - "8.2" | |
| - "8.3" | |
| - "8.4" | |
| postgres-version: | |
| - "16" | |
| extension: | |
| - "pdo_pgsql" | |
| dependencies: | |
| - "lowest" | |
| - "highest" | |
| services: | |
| postgres: | |
| image: "postgres:${{ matrix.postgres-version }}" | |
| env: | |
| POSTGRES_PASSWORD: "postgres" | |
| options: >- | |
| --health-cmd "pg_isready" | |
| ports: | |
| - "5432:5432" | |
| steps: | |
| - name: "Checkout" | |
| uses: "actions/checkout@v4" | |
| with: | |
| fetch-depth: 2 | |
| - name: "Install PHP" | |
| uses: "shivammathur/setup-php@v2" | |
| with: | |
| php-version: "${{ matrix.php-version }}" | |
| extensions: "pgsql pdo_pgsql" | |
| ini-values: "zend.assertions=1" | |
| - name: "Install dependencies with Composer" | |
| uses: "ramsey/composer-install@v3" | |
| with: | |
| dependency-versions: "${{ matrix.dependencies }}" | |
| composer-options: "--ignore-platform-req=php+" | |
| - name: "Run PHPUnit" | |
| env: | |
| DBAL_DRIVER: "${{ matrix.extension }}" | |
| DBAL_DBNAME: "test_db" | |
| DBAL_HOST: "postgres" | |
| DBAL_PASSWORD: "postgres" | |
| DBAL_PORT: "5432" | |
| DBAL_ROOT_PASSWORD: "postgres" | |
| DBAL_ROOT_USER: "postgres" | |
| DBAL_USER: "postgres" | |
| DATABASE_URL: "postgresql://postgres:postgres@postgres:5432/test_db?serverVersion=${{ matrix.postgres-version }}&charset=utf8" | |
| run: "vendor/bin/phpunit" | |
| phpunit-postgres: | |
| name: "PHPUnit with PostgreSQL" | |
| runs-on: ubuntu-latest | |
| container: | |
| image: makinacorpus/dbtoolsbundle-ci:main | |
| needs: "phpunit-smoke-tests" | |
| strategy: | |
| matrix: | |
| php-version: | |
| - "8.1" | |
| postgres-version: | |
| - "10" | |
| - "15" | |
| - "16" | |
| extension: | |
| - "pgsql" | |
| - "pdo_pgsql" | |
| services: | |
| postgres: | |
| image: "postgres:${{ matrix.postgres-version }}" | |
| env: | |
| POSTGRES_PASSWORD: "postgres" | |
| options: >- | |
| --health-cmd "pg_isready" | |
| ports: | |
| - "5432:5432" | |
| steps: | |
| - name: "Checkout" | |
| uses: "actions/checkout@v4" | |
| with: | |
| fetch-depth: 2 | |
| - name: "Install PHP" | |
| uses: "shivammathur/setup-php@v2" | |
| with: | |
| php-version: "${{ matrix.php-version }}" | |
| extensions: "pgsql pdo_pgsql" | |
| coverage: "pcov" | |
| ini-values: "zend.assertions=1" | |
| - name: "Install dependencies with Composer" | |
| uses: "ramsey/composer-install@v3" | |
| with: | |
| composer-options: "--ignore-platform-req=php+" | |
| - name: "Run PHPUnit" | |
| env: | |
| DBAL_DRIVER: "${{ matrix.extension }}" | |
| DBAL_DBNAME: "test_db" | |
| DBAL_HOST: "postgres" | |
| DBAL_PASSWORD: "postgres" | |
| DBAL_PORT: "5432" | |
| DBAL_ROOT_PASSWORD: "postgres" | |
| DBAL_ROOT_USER: "postgres" | |
| DBAL_USER: "postgres" | |
| DATABASE_URL: "postgresql://postgres:postgres@postgres:5432/test_db?serverVersion=${{ matrix.postgres-version }}&charset=utf8" | |
| run: "vendor/bin/phpunit" | |
| phpunit-mariadb: | |
| name: "PHPUnit with MariaDB" | |
| runs-on: ubuntu-latest | |
| container: | |
| image: makinacorpus/dbtoolsbundle-ci:main | |
| needs: "phpunit-smoke-tests" | |
| strategy: | |
| matrix: | |
| php-version: | |
| - "8.1" | |
| mariadb-version: | |
| - "10.11.6" # LTS (Feb 2028) | |
| - "11.4.5" # LTS (May 2029) | |
| - "11.7.2" # STS | |
| extension: | |
| - "mysqli" | |
| include: | |
| - php-version: "8.1" | |
| mariadb-version: "11.4.5" | |
| extension: "pdo_mysql" | |
| services: | |
| mariadb: | |
| image: "mariadb:${{ matrix.mariadb-version }}" | |
| env: | |
| MARIADB_ROOT_PASSWORD: "password" | |
| MYSQL_DATABASE: "test_db" | |
| options: >- | |
| --health-cmd "mariadb-admin ping --silent || mysqladmin ping --silent" | |
| ports: | |
| - "3306:3306" | |
| steps: | |
| - name: "Checkout" | |
| uses: "actions/checkout@v4" | |
| with: | |
| fetch-depth: 2 | |
| - name: "Install PHP" | |
| uses: "shivammathur/setup-php@v2" | |
| with: | |
| php-version: "${{ matrix.php-version }}" | |
| ini-values: "zend.assertions=1" | |
| extensions: "${{ matrix.extension }}" | |
| - name: "Install dependencies with Composer" | |
| uses: "ramsey/composer-install@v3" | |
| with: | |
| composer-options: "--ignore-platform-req=php+" | |
| - name: "Run PHPUnit" | |
| env: | |
| DBAL_DRIVER: "${{ matrix.extension }}" | |
| DBAL_DBNAME: "test_db" | |
| DBAL_HOST: "mariadb" | |
| DBAL_PASSWORD: "password" | |
| DBAL_PORT: "3306" | |
| DBAL_ROOT_PASSWORD: "password" | |
| DBAL_ROOT_USER: "root" | |
| DBAL_USER: "root" | |
| DATABASE_URL: "mysql://root:password@mariadb:3306/test_db?serverVersion=mariadb-${{ matrix.mariadb-version }}" | |
| run: "vendor/bin/phpunit" | |
| phpunit-mysql: | |
| name: "PHPUnit with MySQL" | |
| runs-on: ubuntu-latest | |
| container: | |
| image: makinacorpus/dbtoolsbundle-ci:main | |
| needs: "phpunit-smoke-tests" | |
| strategy: | |
| matrix: | |
| php-version: | |
| - "8.1" | |
| mysql-version: | |
| - "5.7" | |
| - "8.0" | |
| - "8.2" | |
| - "8.3" | |
| extension: | |
| - "mysqli" | |
| - "pdo_mysql" | |
| services: | |
| mysql: | |
| image: "mysql:${{ matrix.mysql-version }}" | |
| options: >- | |
| --health-cmd "mysqladmin ping --silent" | |
| -e MYSQL_ROOT_PASSWORD=password | |
| -e MYSQL_DATABASE=test_db | |
| ports: | |
| - "3306:3306" | |
| steps: | |
| - name: "Checkout" | |
| uses: "actions/checkout@v4" | |
| with: | |
| fetch-depth: 2 | |
| - name: "Install PHP" | |
| uses: "shivammathur/setup-php@v2" | |
| with: | |
| php-version: "${{ matrix.php-version }}" | |
| ini-values: "zend.assertions=1" | |
| extensions: "${{ matrix.extension }}" | |
| - name: "Install dependencies with Composer" | |
| uses: "ramsey/composer-install@v3" | |
| with: | |
| composer-options: "--ignore-platform-req=php+" | |
| - name: "Run PHPUnit" | |
| env: | |
| DBAL_DRIVER: "${{ matrix.extension }}" | |
| DBAL_DBNAME: "test_db" | |
| DBAL_HOST: "mysql" | |
| DBAL_PASSWORD: "password" | |
| DBAL_PORT: "3306" | |
| DBAL_ROOT_PASSWORD: "password" | |
| DBAL_ROOT_USER: "root" | |
| DBAL_USER: "root" | |
| DATABASE_URL: "mysql://root:password@mysql:3306/test_db" | |
| run: "vendor/bin/phpunit" | |
| # see #187 - we can't figure out why these jobs failed. | |
| # | |
| # phpunit-mssql: | |
| # name: "PHPUnit with SQL Server" | |
| # runs-on: ubuntu-latest | |
| # container: | |
| # image: makinacorpus/dbtoolsbundle-ci:main | |
| # needs: "phpunit-smoke-tests" | |
| # strategy: | |
| # matrix: | |
| # php-version: | |
| # - "8.1" | |
| # mssql-version: | |
| # - "2019" | |
| # - "2022" | |
| # extension: | |
| # - "pdo_sqlsrv" | |
| # services: | |
| # mssql: | |
| # image: "mcr.microsoft.com/mssql/server:${{ matrix.mssql-version }}-latest" | |
| # env: | |
| # ACCEPT_EULA: "Y" | |
| # MSSQL_SA_PASSWORD: "P@ssword123" | |
| # SA_PASSWORD: "P@ssword123" | |
| # options: >- | |
| # --health-cmd "echo quit | /opt/mssql-tools/bin/sqlcmd -S 127.0.0.1 -l 1 -U sa -P P@ssword123" | |
| # ports: | |
| # - "1433:1433" | |
| # steps: | |
| # - name: "Checkout" | |
| # uses: "actions/checkout@v4" | |
| # with: | |
| # fetch-depth: 2 | |
| # - name: "Install PHP" | |
| # uses: "shivammathur/setup-php@v2" | |
| # with: | |
| # php-version: "${{ matrix.php-version }}" | |
| # ini-values: "zend.assertions=1" | |
| # extensions: "${{ matrix.extension }}-5.10.0" | |
| # - name: "Install dependencies with Composer" | |
| # uses: "ramsey/composer-install@v3" | |
| # with: | |
| # composer-options: "--ignore-platform-req=php+" | |
| # - name: "Run PHPUnit" | |
| # env: | |
| # DBAL_DRIVER: "${{ matrix.extension }}" | |
| # DBAL_DBNAME: "test_db" | |
| # DBAL_HOST: "mssql" | |
| # DBAL_PASSWORD: "P@ssword123" | |
| # DBAL_PORT: "1433" | |
| # DBAL_ROOT_PASSWORD: "P@ssword123" | |
| # DBAL_ROOT_USER: "sa" | |
| # DBAL_USER: "sa" | |
| # DATABASE_URL: "mssql://sa:P%40ssword123@mssql:1433/test_db?serverVersion=2019&driverOptions[TrustServerCertificate]=true" | |
| # run: "vendor/bin/phpunit" | |
| phpunit-sqlite: | |
| name: "PHPUnit with SQLite" | |
| runs-on: ubuntu-latest | |
| container: | |
| image: makinacorpus/dbtoolsbundle-ci:main | |
| needs: "phpunit-smoke-tests" | |
| strategy: | |
| matrix: | |
| os: | |
| - "ubuntu-22.04" | |
| php-version: | |
| - "8.1" | |
| extension: | |
| - "pdo_sqlite" | |
| - "sqlite3" | |
| steps: | |
| - name: "Checkout" | |
| uses: "actions/checkout@v4" | |
| with: | |
| fetch-depth: 2 | |
| - name: "Install PHP" | |
| uses: "shivammathur/setup-php@v2" | |
| with: | |
| php-version: "${{ matrix.php-version }}" | |
| extensions: "${{ matrix.extension }}" | |
| ini-values: "zend.assertions=1" | |
| - name: "Install dependencies with Composer" | |
| uses: "ramsey/composer-install@v3" | |
| with: | |
| composer-options: "--ignore-platform-req=php+" | |
| - name: "Run PHPUnit" | |
| env: | |
| DBAL_DRIVER: "${{ matrix.extension }}" | |
| DBAL_DBNAME: "test_db" | |
| DBAL_HOST: "127.0.0.1" | |
| DBAL_PATH: "test_db.sqlite" | |
| DATABASE_URL: "sqlite:///test_db.sqlite" | |
| run: "vendor/bin/phpunit" |