Skip to content

Commit

Permalink
[Maintenance] Add build for postgres
Browse files Browse the repository at this point in the history
  • Loading branch information
NoResponseMate committed Jun 24, 2024
1 parent 7021024 commit 606060f
Showing 1 changed file with 91 additions and 4 deletions.
95 changes: 91 additions & 4 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ on:
workflow_dispatch: ~

jobs:
tests:
mysql-tests:
runs-on: ubuntu-latest

name: "Sylius ${{ matrix.sylius }}, PHP ${{ matrix.php }}, Symfony ${{ matrix.symfony }}, MySQL ${{ matrix.mysql }}"
Expand All @@ -24,15 +24,15 @@ jobs:
symfony: ["5.4.*", "^6.0"]
sylius: ["~1.12.0", "~1.13.0"]
node: ["18.x"]
mysql: ["5.7"]
mysql: ["8.0"]

env:
APP_ENV: test
DATABASE_URL: "mysql://root:root@127.0.0.1/sylius?serverVersion=${{ matrix.mysql }}"

steps:
-
uses: actions/checkout@v3
uses: actions/checkout@v4

-
name: Restrict Sylius version
Expand All @@ -41,7 +41,7 @@ jobs:
-
name: Build application
uses: SyliusLabs/BuildTestAppAction@v2.1
uses: SyliusLabs/BuildTestAppAction@v2.2
with:
build_type: "plugin"
cache_key: "${{ github.run_id }}-${{ runner.os }}-${{ hashFiles('composer.json') }}-sylius-${{ matrix.sylius }}-symfony-${{ matrix.symfony }}"
Expand Down Expand Up @@ -88,3 +88,90 @@ jobs:
name: Behat logs
path: etc/build/
if-no-files-found: ignore

postgres-tests:
runs-on: ubuntu-latest

name: "Sylius ${{ matrix.sylius }}, PHP ${{ matrix.php }}, Symfony ${{ matrix.symfony }}, PostgreSQL ${{ matrix.postgres }}"

strategy:
fail-fast: false
matrix:
php: ["8.1"]
symfony: ["5.4.*", "^6.0"]
sylius: ["~1.12.0", "~1.13.0"]
node: ["18.x"]
postgres: ["14.6"]

env:
APP_ENV: test
DATABASE_URL: "pgsql://postgres:postgres@127.0.0.1/sylius?charset=utf8&serverVersion=${{ matrix.postgres }}"

steps:
- name: Set postgres env
shell: bash
run: |
if [ "${{ matrix.sylius }}" == "~1.12.0" ]; then
echo "USE_LEGACY_POSTGRES_SETUP=yes" >> $GITHUB_ENV
else
echo "USE_LEGACY_POSTGRES_SETUP=no" >> $GITHUB_ENV
fi
-
uses: actions/checkout@v4

-
name: Restrict Sylius version
run: |
composer require --no-update --no-scripts sylius/sylius:${{ matrix.sylius }}
-
name: Build application
uses: SyliusLabs/BuildTestAppAction@v2.2
with:
build_type: "plugin"
cache_key: "${{ github.run_id }}-${{ runner.os }}-${{ hashFiles('composer.json') }}-sylius-${{ matrix.sylius }}-symfony-${{ matrix.symfony }}"
cache_restore_key: "${{ github.run_id }}-${{ runner.os }}-${{ hashFiles('composer.json') }}-sylius-${{ matrix.sylius }}-symfony-${{ matrix.symfony }}"
e2e: "yes"
e2e_js: "yes"
database: "postgresql"
database_version: ${{ matrix.postgres }}
legacy_postgresql_setup: ${{ env.USE_LEGACY_POSTGRES_SETUP }}
php_version: ${{ matrix.php }}
symfony_version: ${{ matrix.symfony }}

-
name: Validate composer.json
run: composer validate --ansi --strict

-
name: Validate database schema
run: (cd tests/Application && bin/console doctrine:schema:validate)

-
name: Run PHPStan
run: vendor/bin/phpstan analyse -c phpstan.neon -l max src/

-
name: Run Psalm
run: vendor/bin/psalm

-
name: Run PHPSpec
run: vendor/bin/phpspec run --ansi -f progress --no-interaction

-
name: Run PHPUnit
run: vendor/bin/phpunit --colors=always

-
name: Run Behat
run: vendor/bin/behat --colors --strict -vvv --no-interaction || vendor/bin/behat --colors --strict -vvv --no-interaction --rerun

-
name: Upload Behat logs
uses: actions/upload-artifact@v3
if: failure()
with:
name: Behat logs
path: etc/build/
if-no-files-found: ignore

0 comments on commit 606060f

Please sign in to comment.