-
Notifications
You must be signed in to change notification settings - Fork 7
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Restructure workflows, tests and dev packages (#86)
- refactors GitHub's actions to run a matrix of tests for PHP >= 7.0 - implements [PHPUnit-Polyfills](https://github.com/Yoast/PHPUnit-Polyfills) - reorganizes test files for ease of access and extension - simplifies composers, exposing one slick file for library users - separates concerns, grouping dev-related files in the `dev` directory ### What problem does it fix? - tests are now run for all required PHP versions - there were 2 top-level composer files, now only the right one is exposed ### How to test if it works? - create a branch and set up a PR, the CI should run and test your code against all PHP & OS versions - expect at least 27 checks
- Loading branch information
Showing
32 changed files
with
290 additions
and
5,957 deletions.
There are no files selected for viewing
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,47 @@ | ||
name: Run PHPUnit tests | ||
|
||
on: | ||
workflow_call: | ||
inputs: | ||
os: | ||
description: 'Operating system to run tests on' | ||
required: false | ||
type: 'string' | ||
default: 'ubuntu-latest' | ||
php: | ||
description: 'The version of PHP to use, in the format of X.Y' | ||
required: true | ||
type: 'string' | ||
phpunit-config: | ||
description: 'The PHPUnit configuration file to use' | ||
required: false | ||
type: 'string' | ||
default: 'phpunit.xml.dist' | ||
env: | ||
LOCAL_PHP: ${{ inputs.php }}-fpm | ||
PHPUNIT_CONFIG: ${{ inputs.phpunit-config }} | ||
|
||
jobs: | ||
phpunit-tests: | ||
name: ${{ inputs.os }} | ||
runs-on: ${{ inputs.os }} | ||
timeout-minutes: 20 | ||
|
||
steps: | ||
- name: Checkout repository | ||
uses: actions/checkout@v4 | ||
|
||
- name: Set up PHP | ||
uses: shivammathur/setup-php@v2 | ||
with: | ||
php-version: '${{ inputs.php }}' | ||
tools: phpunit-polyfills | ||
|
||
- name: Install Composer dependencies | ||
uses: ramsey/composer-install@v3 | ||
with: | ||
ignore-cache: "yes" | ||
composer-options: "--optimize-autoloader" | ||
|
||
- name: Run PHPUnit tests | ||
run: phpunit tests --testdox |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
name: PHPUnit Tests | ||
|
||
on: | ||
push: | ||
branches: | ||
- trunk | ||
pull_request: | ||
|
||
jobs: | ||
test: | ||
name: PHP ${{ matrix.php }} | ||
uses: ./.github/workflows/phpunit-tests-run.yml | ||
permissions: | ||
contents: read | ||
secrets: inherit | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
os: [ ubuntu-latest, macos-latest, windows-latest ] | ||
php: [ '7.0', '7.1', '7.2', '7.3', '7.4', '8.0', '8.1', '8.2', '8.3' ] | ||
|
||
with: | ||
os: ${{ matrix.os }} | ||
php: ${{ matrix.php }} | ||
phpunit-config: ${{ 'phpunit.xml.dist' }} |
This file was deleted.
Oops, something went wrong.
Oops, something went wrong.