Skip to content

fix: @return void on abstract functions weren't being removed. #30

fix: @return void on abstract functions weren't being removed.

fix: @return void on abstract functions weren't being removed. #30

Workflow file for this run

name: Unit Tests
on:
# Run on pushes to `master` and on all pull requests.
push:
branches:
- master
paths-ignore:
- "**.md"
- "**.xml"
pull_request:
# Allow manually triggering the workflow.
workflow_dispatch:
# Cancels all previous workflow runs for the same branch that have not yet completed.
concurrency:
# The concurrency group contains the workflow name and the branch name.
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
lint:
if: ${{ github.ref == 'refs/heads/master' }}
runs-on: ubuntu-latest
strategy:
matrix:
php: ["7.2", "7.4", "8.0", "8.2", "8.4"]
name: "Lint: PHP ${{ matrix.php }}"
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Install PHP
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php }}
ini-file: "development"
coverage: none
tools: cs2pr
- name: Install Composer dependencies
uses: "ramsey/composer-install@v3"
with:
# Bust the cache at least once a month - output format: YYYY-MM.
custom-cache-suffix: $(date -u "+%Y-%m")
- name: "Lint against parse errors"
run: composer lint -- --checkstyle | cs2pr
#### TEST STAGE ####
test:
if: ${{ github.ref == 'refs/heads/master' }}
runs-on: ubuntu-latest
strategy:
matrix:
# The GHA matrix works different from Travis.
# You can define jobs here and then augment them with extra variables in `include`,
# as well as add extra jobs in `include`.
# @link https://docs.github.com/en/free-pro-team@latest/actions/reference/workflow-syntax-for-github-actions#jobsjob_idstrategymatrix
#
# The matrix is set up so as not to duplicate the builds which are run for code coverage.
php: ["7.2", "7.3", "7.4", "8.0", "8.1", "8.2", "8.3", "8.4"]
phpcs_version: ["lowest", "stable", "4.x-dev"]
exclude:
- php: "8.3"
phpcs_version: "lowest"
include:
# Add some builds with variations of the dependency versions.
- php: "8.4"
phpcs_version: "stable"
# Test against dev versions of all dependencies with select PHP versions for early detection of issues.
- php: "7.2"
phpcs_version: "dev-master"
- php: "7.2"
phpcs_version: "4.x-dev"
- php: "7.4"
phpcs_version: "4.x-dev"
- php: "8.2"
phpcs_version: "4.x-dev"
name: "Test: PHP ${{ matrix.php }} - PHPCS ${{ matrix.phpcs_version }}"
steps:
- name: Checkout code
uses: actions/checkout@v4
# On stable PHPCS versions, allow for PHP deprecation notices.
# Unit tests don't need to fail on those for stable releases where those issues won't get fixed anymore.
- name: Setup ini config
id: set_ini
run: |
if [[ "${{ contains( matrix.phpcs_version, 'dev') }}" == "false" ]]; then
echo 'PHP_INI=error_reporting=E_ALL & ~E_DEPRECATED, display_errors=On, display_startup_errors=On' >> "$GITHUB_OUTPUT"
else
echo 'PHP_INI=error_reporting=-1, display_errors=On, display_startup_errors=On' >> "$GITHUB_OUTPUT"
fi
- name: Install PHP
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php }}
ini-values: ${{ steps.set_ini.outputs.PHP_INI }}
coverage: none
- name: "Composer: set PHPCS version for tests (dev/specific version)"
if: ${{ matrix.phpcs_version != 'lowest' && matrix.phpcs_version != 'stable' }}
run: composer require squizlabs/php_codesniffer:"${{ matrix.phpcs_version }}" --no-update --no-scripts --no-interaction
- name: "Composer: use lock file when necessary"
if: ${{ matrix.phpcs_version == 'lowest' }}
run: composer config --unset lock
# Install dependencies and handle caching in one go.
# @link https://github.com/marketplace/actions/install-php-dependencies-with-composer
- name: Install Composer dependencies
uses: "ramsey/composer-install@v3"
with:
# Bust the cache at least once a month - output format: YYYY-MM.
custom-cache-suffix: $(date -u "+%Y-%m")
- name: "Composer: set PHPCS version for tests (lowest)"
if: ${{ matrix.phpcs_version == 'lowest' }}
run: composer update squizlabs/php_codesniffer --prefer-lowest --no-scripts --no-interaction
- name: Composer info
run: composer info
- name: Grab PHPCS version
id: phpcs_version
# yamllint disable-line rule:line-length
run: echo "VERSION=$(vendor/bin/phpcs --version | grep --only-matching --max-count=1 --extended-regexp '\b[0-9]+\.[0-9]+')" >> "$GITHUB_OUTPUT"
- name: "DEBUG: Show grabbed PHPCS version"
run: echo ${{ steps.phpcs_version.outputs.VERSION }}
- name: Run the unit tests (PHPCS 3.x)
if: ${{ startsWith( steps.phpcs_version.outputs.VERSION, '3.' ) }}
run: composer test-phpcs3
- name: Run the unit tests (PHPCS 4.x)
if: ${{ startsWith( steps.phpcs_version.outputs.VERSION, '4.' ) }}
run: composer test-phpcs4