Skip to content

Updated copyright year to 2024 #36

Updated copyright year to 2024

Updated copyright year to 2024 #36

Workflow file for this run

name: Backend build
on:
push:
branches:
- main
- '[0-9]+.[0-9]+'
pull_request: ~
jobs:
cs-fix:
name: Run code style check
runs-on: "ubuntu-22.04"
strategy:
matrix:
php:
- '8.1'
steps:
- uses: actions/checkout@v3
- name: Setup PHP Action
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php }}
coverage: none
extensions: 'pdo_sqlite, gd'
tools: cs2pr
- uses: ramsey/composer-install@v2
with:
dependency-versions: "highest"
- name: Run code style check
run: composer run-script check-cs -- --format=checkstyle | cs2pr
deptrac:
name: Deptrac
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Deptrac
uses: smoench/deptrac-action@master
tests:
name: Tests
runs-on: "ubuntu-22.04"
timeout-minutes: 10
strategy:
fail-fast: false
matrix:
php:
- '7.4'
- '8.1'
- '8.2'
steps:
- uses: actions/checkout@v3
- name: Setup PHP Action
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php }}
coverage: none
extensions: pdo_sqlite, gd
tools: cs2pr
- uses: ramsey/composer-install@v2
with:
dependency-versions: "highest"
composer-options: "--prefer-dist --no-progress --no-suggest"
- name: Setup problem matchers for PHPUnit
run: echo "::add-matcher::${{ runner.tool_cache }}/phpunit.json"
- name: Run PHPStan analysis
run: composer run-script phpstan
- name: Run test suite
run: composer run-script --timeout=600 test
integration-tests-postgres:
name: PostgreSQL integration tests
needs: tests
services:
postgres:
image: postgres:10
ports:
- 5432
env:
POSTGRES_PASSWORD: postgres
POSTGRES_DB: testdb
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
--tmpfs /var/lib/postgres
runs-on: "ubuntu-22.04"
timeout-minutes: 10
strategy:
fail-fast: false
matrix:
php:
- '7.4'
- '8.1'
- '8.2'
steps:
- uses: actions/checkout@v3
- name: Setup PHP Action
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php }}
coverage: none
extensions: pdo_pgsql, gd
tools: cs2pr
- uses: ramsey/composer-install@v2
with:
dependency-versions: "highest"
- name: Setup problem matchers for PHPUnit
run: echo "::add-matcher::${{ runner.tool_cache }}/phpunit.json"
- name: Run integration test suite vs Postgresql
run: composer run-script --timeout=600 test -- --testsuite integration
env:
DATABASE_URL: "pgsql://postgres:postgres@localhost:${{ job.services.postgres.ports[5432] }}/testdb?server_version=10"
integration-tests-mysql:
name: MySQL integration tests
needs: tests
services:
mysql:
image: ghcr.io/ibexa/core/mysql
ports:
- 3306/tcp
env:
MYSQL_RANDOM_ROOT_PASSWORD: true
MYSQL_USER: mysql
MYSQL_PASSWORD: mysql
MYSQL_DATABASE: testdb
options: >-
--health-cmd="mysqladmin ping"
--health-interval=10s
--health-timeout=5s
--health-retries=5
--tmpfs=/var/lib/mysql
runs-on: "ubuntu-22.04"
timeout-minutes: 10
strategy:
fail-fast: false
matrix:
php:
- '7.4'
- '8.1'
- '8.2'
steps:
- uses: actions/checkout@v3
- name: Setup PHP Action
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php }}
coverage: none
extensions: pdo_mysql, gd, redis
tools: cs2pr
- uses: ramsey/composer-install@v2
with:
dependency-versions: "highest"
- name: Setup problem matchers for PHPUnit
run: echo "::add-matcher::${{ runner.tool_cache }}/phpunit.json"
- name: Run integration test suite vs MySQL
run: composer run-script --timeout=600 test -- --testsuite integration
env:
DATABASE_URL: "mysql://mysql:[email protected]:${{ job.services.mysql.ports[3306] }}/testdb"