Skip to content

[TASK] Inject all dependencies via php and remove Services.yaml #398

[TASK] Inject all dependencies via php and remove Services.yaml

[TASK] Inject all dependencies via php and remove Services.yaml #398

Workflow file for this run

name: CI
on:
- pull_request
jobs:
check-composer:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Validate composer.json
run: composer validate
php-linting:
runs-on: ubuntu-latest
strategy:
matrix:
php-version:
- 8.2
- 8.3
- 8.4
- 8.5
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install PHP
uses: shivammathur/setup-php@v2
with:
php-version: "${{ matrix.php-version }}"
tools: composer:v2
- name: PHP lint
run: "find *.php Classes Configuration Tests -name '*.php' -print0 | xargs -0 -n 1 -P 4 php -l"
documentation-rendering:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Documentation without warnings
run: |
mkdir -p Documentation-GENERATED-temp \
&& docker run --rm --pull always -v $(pwd):/project \
ghcr.io/typo3-documentation/render-guides:latest --config=Documentation --no-progress --fail-on-log
js-linting:
runs-on: ubuntu-latest
steps:
- name: Checkout and install node for npm
uses: actions/checkout@v4
- uses: actions/setup-node@v3
with:
node-version: 20
- name: Install modules based on package-lock.json
run: npm install
working-directory: ./Build/Sources
- name: Run ESLint
run: npm run lint
working-directory: ./Build/Sources
coding-guideline:
runs-on: ubuntu-latest
needs:
- php-linting
steps:
- uses: actions/checkout@v4
- name: Install PHP
uses: shivammathur/setup-php@v2
with:
php-version: "8.2"
tools: composer:v2
- name: Install dependencies
run: composer install --prefer-dist --no-progress --no-suggest
- name: Coding Guideline
run: composer project:cgl
code-quality:
runs-on: ubuntu-latest
needs:
- php-linting
strategy:
matrix:
php-version:
- 8.2
- 8.3
- 8.4
- 8.5
steps:
- uses: actions/checkout@v4
- name: Install PHP
uses: shivammathur/setup-php@v2
with:
php-version: "${{ matrix.php-version }}"
tools: composer:v2
- name: Install dependencies with expected TYPO3 version
run: |-
composer remove --dev ssch/typo3-rector \
&& composer require typo3/cms-install "*" \
&& composer install --no-progress --no-ansi --no-interaction
- name: Code Quality (by PHPStan)
run: composer project:phpstan
tests-unit-and-functional:
runs-on: ubuntu-latest
needs:
- coding-guideline
- code-quality
strategy:
matrix:
php-version:
- 8.2
- 8.3
- 8.4
- 8.5
steps:
- uses: actions/checkout@v4
- name: Install PHP
uses: shivammathur/setup-php@v2
with:
php-version: "${{ matrix.php-version }}"
tools: composer:v2
- name: Install dependencies
run: composer install --prefer-dist --no-progress --no-suggest
- name: Run unit tests
run: composer project:test:unit
- name: Run functional tests
run: export typo3DatabaseDriver=pdo_sqlite && composer project:test:functional