This repository has been archived by the owner on Jan 4, 2022. It is now read-only.
-
-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
75cf0f0
commit 37923fe
Showing
2 changed files
with
88 additions
and
88 deletions.
There are no files selected for viewing
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
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 |
---|---|---|
|
@@ -14,8 +14,8 @@ env: | |
PHP_EXTENSIONS: "mbstring" | ||
|
||
jobs: | ||
coding-standards: | ||
name: "Coding Standards" | ||
code-coverage: | ||
name: "Code Coverage" | ||
|
||
runs-on: "ubuntu-latest" | ||
|
||
|
@@ -31,22 +31,15 @@ jobs: | |
- name: "Checkout" | ||
uses: "actions/[email protected]" | ||
|
||
- name: "Lint YAML files" | ||
uses: "ibiqlik/action-yamllint@v3" | ||
with: | ||
config_file: ".yamllint.yaml" | ||
file_or_dir: "." | ||
strict: true | ||
|
||
- name: "Set up PHP" | ||
uses: "shivammathur/[email protected]" | ||
with: | ||
coverage: "none" | ||
coverage: "pcov" | ||
extensions: "${{ env.PHP_EXTENSIONS }}" | ||
php-version: "${{ matrix.php-version }}" | ||
|
||
- name: "Validate composer.json and composer.lock" | ||
run: "composer validate --strict" | ||
- name: "Set up problem matchers for phpunit/phpunit" | ||
run: "echo \"::add-matcher::${{ runner.tool_cache }}/phpunit.json\"" | ||
|
||
- name: "Determine composer cache directory" | ||
uses: "./.github/actions/composer/composer/determine-cache-directory" | ||
|
@@ -63,27 +56,16 @@ jobs: | |
with: | ||
dependencies: "${{ matrix.dependencies }}" | ||
|
||
- name: "Run ergebnis/composer-normalize" | ||
run: "composer normalize --dry-run" | ||
|
||
- name: "Create cache directory for friendsofphp/php-cs-fixer" | ||
run: "mkdir -p .build/php-cs-fixer" | ||
|
||
- name: "Cache cache directory for friendsofphp/php-cs-fixer" | ||
uses: "actions/[email protected]" | ||
with: | ||
path: ".build/php-cs-fixer" | ||
key: "php-${{ matrix.php-version }}-php-cs-fixer-${{ github.sha }}" | ||
restore-keys: "php-${{ matrix.php-version }}-php-cs-fixer-" | ||
|
||
- name: "Run friendsofphp/php-cs-fixer" | ||
run: "vendor/bin/php-cs-fixer fix --config=.php_cs --diff --diff-format=udiff --dry-run --verbose" | ||
- name: "Collect code coverage with pcov and phpunit/phpunit" | ||
run: "vendor/bin/phpunit --configuration=test/Unit/phpunit.xml --coverage-clover=.build/phpunit/logs/clover.xml" | ||
|
||
- name: "Run friendsofphp/php-cs-fixer for test fixtures" | ||
run: "vendor/bin/php-cs-fixer fix --config=.php_cs.fixture --diff --diff-format=udiff --using-cache=no --verbose" | ||
- name: "Send code coverage report to Codecov.io" | ||
env: | ||
CODECOV_TOKEN: "${{ secrets.CODECOV_TOKEN }}" | ||
run: "bash <(curl -s https://codecov.io/bash)" | ||
|
||
dependency-analysis: | ||
name: "Dependency Analysis" | ||
coding-standards: | ||
name: "Coding Standards" | ||
|
||
runs-on: "ubuntu-latest" | ||
|
||
|
@@ -99,13 +81,23 @@ jobs: | |
- name: "Checkout" | ||
uses: "actions/[email protected]" | ||
|
||
- name: "Lint YAML files" | ||
uses: "ibiqlik/action-yamllint@v3" | ||
with: | ||
config_file: ".yamllint.yaml" | ||
file_or_dir: "." | ||
strict: true | ||
|
||
- name: "Set up PHP" | ||
uses: "shivammathur/[email protected]" | ||
with: | ||
coverage: "none" | ||
extensions: "${{ env.PHP_EXTENSIONS }}" | ||
php-version: "${{ matrix.php-version }}" | ||
|
||
- name: "Validate composer.json and composer.lock" | ||
run: "composer validate --strict" | ||
|
||
- name: "Determine composer cache directory" | ||
uses: "./.github/actions/composer/composer/determine-cache-directory" | ||
|
||
|
@@ -121,11 +113,27 @@ jobs: | |
with: | ||
dependencies: "${{ matrix.dependencies }}" | ||
|
||
- name: "Run maglnet/composer-require-checker" | ||
run: ".phive/composer-require-checker check --config-file=$(pwd)/composer-require-checker.json" | ||
- name: "Run ergebnis/composer-normalize" | ||
run: "composer normalize --dry-run" | ||
|
||
static-code-analysis: | ||
name: "Static Code Analysis" | ||
- name: "Create cache directory for friendsofphp/php-cs-fixer" | ||
run: "mkdir -p .build/php-cs-fixer" | ||
|
||
- name: "Cache cache directory for friendsofphp/php-cs-fixer" | ||
uses: "actions/[email protected]" | ||
with: | ||
path: ".build/php-cs-fixer" | ||
key: "php-${{ matrix.php-version }}-php-cs-fixer-${{ github.sha }}" | ||
restore-keys: "php-${{ matrix.php-version }}-php-cs-fixer-" | ||
|
||
- name: "Run friendsofphp/php-cs-fixer" | ||
run: "vendor/bin/php-cs-fixer fix --config=.php_cs --diff --diff-format=udiff --dry-run --verbose" | ||
|
||
- name: "Run friendsofphp/php-cs-fixer for test fixtures" | ||
run: "vendor/bin/php-cs-fixer fix --config=.php_cs.fixture --diff --diff-format=udiff --using-cache=no --verbose" | ||
|
||
dependency-analysis: | ||
name: "Dependency Analysis" | ||
|
||
runs-on: "ubuntu-latest" | ||
|
||
|
@@ -163,35 +171,21 @@ jobs: | |
with: | ||
dependencies: "${{ matrix.dependencies }}" | ||
|
||
- name: "Create cache directory for phpstan/phpstan" | ||
run: "mkdir -p .build/phpstan" | ||
|
||
- name: "Run phpstan/phpstan" | ||
run: "vendor/bin/phpstan analyse --configuration=phpstan.neon --memory-limit=-1" | ||
|
||
- name: "Create cache directory for vimeo/psalm" | ||
run: "mkdir -p .build/psalm" | ||
|
||
- name: "Run vimeo/psalm" | ||
run: "vendor/bin/psalm --config=psalm.xml --shepherd --show-info=false --stats --threads=4" | ||
- name: "Run maglnet/composer-require-checker" | ||
run: ".phive/composer-require-checker check --config-file=$(pwd)/composer-require-checker.json" | ||
|
||
tests: | ||
name: "Tests" | ||
mutation-tests: | ||
name: "Mutation Tests" | ||
|
||
runs-on: "ubuntu-latest" | ||
|
||
strategy: | ||
matrix: | ||
php-version: | ||
- "7.3" | ||
- "7.4" | ||
- "8.0" | ||
- "8.1" | ||
|
||
dependencies: | ||
- "lowest" | ||
- "locked" | ||
- "highest" | ||
|
||
steps: | ||
- name: "Checkout" | ||
|
@@ -200,13 +194,10 @@ jobs: | |
- name: "Set up PHP" | ||
uses: "shivammathur/[email protected]" | ||
with: | ||
coverage: "none" | ||
coverage: "pcov" | ||
extensions: "${{ env.PHP_EXTENSIONS }}" | ||
php-version: "${{ matrix.php-version }}" | ||
|
||
- name: "Set up problem matchers for phpunit/phpunit" | ||
run: "echo \"::add-matcher::${{ runner.tool_cache }}/phpunit.json\"" | ||
|
||
- name: "Determine composer cache directory" | ||
uses: "./.github/actions/composer/composer/determine-cache-directory" | ||
|
||
|
@@ -222,11 +213,11 @@ jobs: | |
with: | ||
dependencies: "${{ matrix.dependencies }}" | ||
|
||
- name: "Run unit tests with phpunit/phpunit" | ||
run: "vendor/bin/phpunit --configuration=test/Unit/phpunit.xml" | ||
- name: "Run mutation tests with pcov and infection/infection" | ||
run: "vendor/bin/infection --ignore-msi-with-no-mutations --min-covered-msi=${{ env.MIN_COVERED_MSI }} --min-msi=${{ env.MIN_MSI }}" | ||
|
||
code-coverage: | ||
name: "Code Coverage" | ||
static-code-analysis: | ||
name: "Static Code Analysis" | ||
|
||
runs-on: "ubuntu-latest" | ||
|
||
|
@@ -245,13 +236,10 @@ jobs: | |
- name: "Set up PHP" | ||
uses: "shivammathur/[email protected]" | ||
with: | ||
coverage: "pcov" | ||
coverage: "none" | ||
extensions: "${{ env.PHP_EXTENSIONS }}" | ||
php-version: "${{ matrix.php-version }}" | ||
|
||
- name: "Set up problem matchers for phpunit/phpunit" | ||
run: "echo \"::add-matcher::${{ runner.tool_cache }}/phpunit.json\"" | ||
|
||
- name: "Determine composer cache directory" | ||
uses: "./.github/actions/composer/composer/determine-cache-directory" | ||
|
||
|
@@ -267,26 +255,35 @@ jobs: | |
with: | ||
dependencies: "${{ matrix.dependencies }}" | ||
|
||
- name: "Collect code coverage with pcov and phpunit/phpunit" | ||
run: "vendor/bin/phpunit --configuration=test/Unit/phpunit.xml --coverage-clover=.build/phpunit/logs/clover.xml" | ||
- name: "Create cache directory for phpstan/phpstan" | ||
run: "mkdir -p .build/phpstan" | ||
|
||
- name: "Send code coverage report to Codecov.io" | ||
env: | ||
CODECOV_TOKEN: "${{ secrets.CODECOV_TOKEN }}" | ||
run: "bash <(curl -s https://codecov.io/bash)" | ||
- name: "Run phpstan/phpstan" | ||
run: "vendor/bin/phpstan analyse --configuration=phpstan.neon --memory-limit=-1" | ||
|
||
mutation-tests: | ||
name: "Mutation Tests" | ||
- name: "Create cache directory for vimeo/psalm" | ||
run: "mkdir -p .build/psalm" | ||
|
||
- name: "Run vimeo/psalm" | ||
run: "vendor/bin/psalm --config=psalm.xml --shepherd --show-info=false --stats --threads=4" | ||
|
||
tests: | ||
name: "Tests" | ||
|
||
runs-on: "ubuntu-latest" | ||
|
||
strategy: | ||
matrix: | ||
php-version: | ||
- "7.3" | ||
- "7.4" | ||
- "8.0" | ||
- "8.1" | ||
|
||
dependencies: | ||
- "lowest" | ||
- "locked" | ||
- "highest" | ||
|
||
steps: | ||
- name: "Checkout" | ||
|
@@ -295,10 +292,13 @@ jobs: | |
- name: "Set up PHP" | ||
uses: "shivammathur/[email protected]" | ||
with: | ||
coverage: "pcov" | ||
coverage: "none" | ||
extensions: "${{ env.PHP_EXTENSIONS }}" | ||
php-version: "${{ matrix.php-version }}" | ||
|
||
- name: "Set up problem matchers for phpunit/phpunit" | ||
run: "echo \"::add-matcher::${{ runner.tool_cache }}/phpunit.json\"" | ||
|
||
- name: "Determine composer cache directory" | ||
uses: "./.github/actions/composer/composer/determine-cache-directory" | ||
|
||
|
@@ -314,5 +314,5 @@ jobs: | |
with: | ||
dependencies: "${{ matrix.dependencies }}" | ||
|
||
- name: "Run mutation tests with pcov and infection/infection" | ||
run: "vendor/bin/infection --ignore-msi-with-no-mutations --min-covered-msi=${{ env.MIN_COVERED_MSI }} --min-msi=${{ env.MIN_MSI }}" | ||
- name: "Run unit tests with phpunit/phpunit" | ||
run: "vendor/bin/phpunit --configuration=test/Unit/phpunit.xml" |