From 8b9fd04c7449f9cafceb4b769bbad36e526dcc33 Mon Sep 17 00:00:00 2001 From: Jeremy Benoist Date: Mon, 17 Jul 2023 13:53:31 +0200 Subject: [PATCH] Add a new build to test when no database table prefix are defined This is mostly to avoid further error when users don't defined a database table prefix. it's recommenced to define one anyway. Also enable verbose migration so we'll be able to actually view SQL queries (and execution time). --- .github/workflows/continuous-integration.yml | 71 ++++++++++++++++++++ GNUmakefile | 2 +- 2 files changed, 72 insertions(+), 1 deletion(-) diff --git a/.github/workflows/continuous-integration.yml b/.github/workflows/continuous-integration.yml index 46ec0a22e..2f3f10c03 100644 --- a/.github/workflows/continuous-integration.yml +++ b/.github/workflows/continuous-integration.yml @@ -80,3 +80,74 @@ jobs: - name: "Run PHPUnit" run: "php bin/simple-phpunit -v" + + phpunit_no_prefix: + name: "PHP ${{ matrix.php }} using ${{ matrix.database }} without prefix" + runs-on: "ubuntu-20.04" + services: + rabbitmq: + image: rabbitmq:3-alpine + ports: + - 5672:5672 + redis: + image: redis:6-alpine + ports: + - 6379:6379 + + strategy: + fail-fast: true + matrix: + php: + - "8.2" + database: + - "sqlite" + - "mysql" + - "pgsql" + + steps: + - name: "Checkout" + uses: "actions/checkout@v3" + with: + fetch-depth: 2 + + - name: "Install PHP" + uses: "shivammathur/setup-php@v2" + with: + php-version: "${{ matrix.php }}" + coverage: none + tools: pecl + extensions: json, pdo, pdo_mysql, pdo_sqlite, pdo_pgsql, curl, imagick, pgsql, gd, tidy + ini-values: "date.timezone=Europe/Paris" + + - name: "Remove database prefix" + run: | + pip install --user yq + yq -Y --in-place '.parameters.database_table_prefix = ""' app/config/parameters.yml.dist + + - name: "Setup MySQL" + if: "${{ matrix.database == 'mysql' }}" + run: | + sudo systemctl start mysql.service + sudo mysql -u root -proot -h 127.0.0.1 -e "CREATE DATABASE wallabag_test" + + - name: "Setup PostgreSQL" + if: "${{ matrix.database == 'pgsql' }}" + run: | + sudo systemctl start postgresql + sudo -u postgres psql -d template1 -c "CREATE USER wallabag WITH PASSWORD 'wallabagrocks' CREATEDB" + createdb -h localhost -p 5432 -U wallabag wallabag_test + pg_isready -d wallabag_test -h localhost -p 5432 -U wallabag + + - name: "Install dependencies with Composer" + uses: "ramsey/composer-install@v2" + with: + composer-options: "--optimize-autoloader --prefer-dist" + + - name: "Prepare database" + run: "make prepare DB=${{ matrix.database }}" + + - name: "Prepare fixtures" + run: "make fixtures" + + - name: "Run PHPUnit" + run: "php bin/simple-phpunit -v" diff --git a/GNUmakefile b/GNUmakefile index 7a7f60ed2..1fcf581aa 100755 --- a/GNUmakefile +++ b/GNUmakefile @@ -40,7 +40,7 @@ ifdef DB endif -php bin/console doctrine:database:drop --force --env=test php bin/console doctrine:database:create --env=test - php bin/console doctrine:migrations:migrate --no-interaction --env=test + php bin/console doctrine:migrations:migrate --no-interaction --env=test -vv fixtures: ## Load fixtures into database php bin/console doctrine:fixtures:load --no-interaction --env=test