Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
103 changes: 47 additions & 56 deletions .github/workflows/lint-and-analyse-php.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,61 +3,52 @@ name: Lint and analyse php files
on:
push:
pull_request:
types: [opened, synchronize, reopened]
types: [ opened, synchronize, reopened ]

jobs:
lint-php:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Use php 7.2
uses: shivammathur/setup-php@v2
with:
php-version: 7.2
tools: composer:v2
- name: Validate composer.json and composer.lock
run: composer validate
- name: Cache module
uses: actions/cache@v3
with:
path: ~/.composer/cache/
key: composer-cache
- name: Install dependencies
run: composer install
- name: Lint files
run: composer run phpcs

analyse-php:
runs-on: ubuntu-latest
strategy:
matrix:
php-version: ["7.4"]
steps:
- uses: actions/checkout@v3
- name: Use PHP ${{ matrix.php-version }}
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php-version }}
tools: composer:v2

- name: Get Composer cache directory
id: composer-cache
run: |
echo "::set-output name=dir::$(composer config cache-files-dir)"

- name: Cache dependencies
uses: actions/cache@v3
with:
path: ${{ steps.composer-cache.outputs.dir }}
key: composer-${{ runner.os }}-${{ matrix.php-version }}-${{ hashFiles('**/composer.*') }}
restore-keys: |
composer-${{ runner.os }}-${{ matrix.php-version }}-

- name: Install dependencies
run: composer install
- name: Analyse files with PHPStan
run: composer run phpstan
- name: Analyse files with Psalm
# Allow the previous check to fail but not abort
if: always()
run: composer run psalm -- --shepherd
lint-php:
runs-on: ubuntu-latest
strategy:
matrix:
php-version: [ '7.2' ]
steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Set up PHP ${{ matrix.php-version }}
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php-version }}

- name: Install Composer dependencies
uses: ramsey/composer-install@v3

- name: Check coding-standard
run: composer run phpcs

- name: Validate composer.json and composer.lock
run: composer validate --strict

analyse-php:
runs-on: ubuntu-latest
strategy:
matrix:
php-version: [ '7.4' ]
steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Set up PHP ${{ matrix.php-version }}
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php-version }}

- name: Install Composer dependencies
uses: ramsey/composer-install@v3

- name: Analyse files with PHPStan
run: composer run phpstan

- name: Analyse files with Psalm
if: always()
run: composer run psalm -- --shepherd
26 changes: 14 additions & 12 deletions .github/workflows/lint-docs.yml
Original file line number Diff line number Diff line change
@@ -1,18 +1,20 @@
name: lint php documentation
name: Lint PHP documentation

on:
push:
pull_request:
types: [opened, synchronize, reopened]
types: [ opened, synchronize, reopened ]

jobs:
lint-docs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: lint php documentation
uses: sudo-bot/action-doctum@v5
with:
config-file: tools/doctum-config.php
method: "parse"
cli-args: "--output-format=github --no-ansi --no-progress -v --ignore-parse-errors"
lint-docs:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4

- name: lint php documentation
uses: sudo-bot/action-doctum@v5
with:
config-file: tools/doctum-config.php
method: "parse"
cli-args: "--output-format=github --no-ansi --no-progress -v --ignore-parse-errors"
37 changes: 10 additions & 27 deletions .github/workflows/mutation-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,54 +2,37 @@ name: Mutation tests

on:
push:
branches: [master]
branches: [ master ]
pull_request:
branches: [master]
branches: [ master ]

jobs:
tests:
name: Mutation tests with PHP ${{ matrix.php-version }}

runs-on: ${{ matrix.operating-system }}

strategy:
matrix:
php-version: ["8.1"]
operating-system: [ubuntu-latest]

php-version: [ '8.1' ]
operating-system: [ ubuntu-latest ]
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Checkout code
uses: actions/checkout@v4

- name: Fetch github.base_ref (for diffing)
if: ${{ github.base_ref != '' }}
run: |
git fetch --depth=1 origin +refs/heads/${{ github.base_ref }}:refs/remotes/origin/${{ github.base_ref }}

- name: Install PHP ${{ matrix.php-version }}
- name: Set up PHP ${{ matrix.php-version }}
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php-version }}
coverage: pcov
ini-values: memory_limit=-1
tools: composer:v2, infection

- name: Get Composer cache directory
id: composer-cache
run: |
echo "::set-output name=dir::$(composer config cache-files-dir)"

- name: Cache dependencies
uses: actions/cache@v3
with:
path: ${{ steps.composer-cache.outputs.dir }}
key: composer-${{ runner.os }}-${{ matrix.php-version }}-${{ hashFiles('**/composer.*') }}
restore-keys: |
composer-${{ runner.os }}-${{ matrix.php-version }}-
tools: infection

- name: Install dependencies
run: |
composer update --no-interaction --no-progress
- name: Install Composer dependencies
uses: ramsey/composer-install@v3

- name: Collect coverage report
run: composer run phpunit -- --stop-on-failure
Expand Down
Loading