Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
40 commits
Select commit Hold shift + click to select a range
f2233bd
Require the latest PHPUnit minor version only
Slamdunk Jul 12, 2020
408254d
Forward deprecated methods
Slamdunk Jul 12, 2020
2a73859
Remove legacy unused code
Slamdunk Jul 12, 2020
0b587a3
CS Fix
Slamdunk Jul 12, 2020
040785f
Merge pull request #451 from Slamdunk/only_latest_phpunit_supported
andreasschroth Jul 14, 2020
c747d18
Remove PHP-CS-Fixer, use config file for PHPCodeSniffer
Slamdunk Jul 15, 2020
a9ca597
Merge pull request #453 from Slamdunk/remove_php_cs_fixer
andreasschroth Jul 17, 2020
7cca683
Replace Travis-CI with Github Actions
Slamdunk Jul 17, 2020
16990e7
GITHUB_TOKEN is already provided by action
Slamdunk Jul 18, 2020
32c738b
Switch badge from TravisCI to GA
Slamdunk Jul 21, 2020
09d7bec
Merge pull request #454 from Slamdunk/github_actions
Slamdunk Jul 21, 2020
a574a60
PHPStan level 0
Slamdunk Jul 20, 2020
27fa718
Add static analysis job to GA
Slamdunk Jul 21, 2020
8057d0f
Add PHPStan config file
Slamdunk Jul 21, 2020
0c6e241
Move methods where they belong to
Slamdunk Jul 21, 2020
915e640
PHPStan level 1
Slamdunk Jul 21, 2020
71f866c
PHPStan level 2
Slamdunk Jul 21, 2020
0cdc9d6
PHPStan level 3
Slamdunk Jul 21, 2020
cd8032a
PHPStan level 4
Slamdunk Jul 21, 2020
c7f609a
PHPStan level 5
Slamdunk Jul 21, 2020
e3bd450
Analyse binaries as well
Slamdunk Jul 21, 2020
4524d12
Merge pull request #457 from Slamdunk/phpstan
Slamdunk Jul 21, 2020
f5af41d
Tests: run with PCOV and SQLite
Slamdunk Jul 21, 2020
11c22bc
Merge pull request #459 from Slamdunk/ci_tests_no_skip
Slamdunk Jul 21, 2020
71a151d
Lint composer.json file (#460)
Slamdunk Jul 21, 2020
cabf5d1
.gitattributes: add missing export-ignore (#462)
Slamdunk Jul 21, 2020
2782afd
Run tests against Windows (#463)
Slamdunk Jul 24, 2020
666a617
Add Code Coverage reports (#464)
Slamdunk Jul 24, 2020
3f03292
Add Type Coverage report (#466)
Slamdunk Jul 24, 2020
f78e607
Type Coverage: fix badge URI
Slamdunk Jul 24, 2020
faf5984
Adopt Doctrine Coding Standards (#467)
Slamdunk Jul 24, 2020
dda1d3e
Use cs2pr to redirect CS/STAN to Github GUI (#468)
Slamdunk Jul 24, 2020
8f89a1b
Lint XML configuration files (#469)
Slamdunk Jul 24, 2020
fc8acab
Add missing type hints (#471)
Slamdunk Jul 24, 2020
5a486dd
Raise Static Analysis levels (#472)
Slamdunk Jul 24, 2020
14a1146
Activate assert() in CI (#473)
Slamdunk Jul 24, 2020
ce9268f
Add missing iterable type hints (#474)
Slamdunk Jul 27, 2020
d51a2ad
Remove version gathered from git as it's used only within the test su…
Slamdunk Jul 28, 2020
88e4d87
Allow PHPUnit 9.3 (#504)
Slamdunk Aug 10, 2020
410b787
Merge tag '4.2.0'
Sep 29, 2021
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
4 changes: 4 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
/.gitattributes export-ignore
/.gitignore export-ignore
/.travis.yml export-ignore
/composer-require-checker.json export-ignore
/box.json.dist export-ignore
/phpcs.xml.dist export-ignore
/phpstan.neon.dist export-ignore
/phpunit.xml.dist export-ignore
/.github/ export-ignore
/test/ export-ignore
5 changes: 5 additions & 0 deletions .github/lint-xml-configuration/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
FROM alpine:latest

RUN apk add --no-cache \
bash \
libxml2-utils
10 changes: 10 additions & 0 deletions .github/lint-xml-configuration/lint-xml-configuration.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
#!/bin/bash

set -ex

phpunitXsd="vendor/phpunit/phpunit/phpunit.xsd"

xmllint --noout --schema "$phpunitXsd" phpunit.xml.dist
xmllint --noout --schema vendor/squizlabs/php_codesniffer/phpcs.xsd phpcs.xml.dist
xmllint --noout --schema vendor/vimeo/psalm/config.xsd psalm.xml.dist
find test/ -name "phpunit*.xml*" -not -name "phpunit-files-dirs-mix-nested.xml" -print0 | xargs -0 xmllint --noout --schema "$phpunitXsd"
321 changes: 321 additions & 0 deletions .github/workflows/integrate.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,321 @@
name: "Integrate"

on:
pull_request:
push:
branches:
- "master"

jobs:
composer-json-lint:
name: "Lint composer.json"

runs-on: "ubuntu-latest"

strategy:
matrix:
php-version:
- "7.4"

steps:
- name: "Checkout"
uses: "actions/checkout@v2"

- name: "Install PHP"
uses: "shivammathur/setup-php@v2"
with:
coverage: "none"
php-version: "${{ matrix.php-version }}"
tools: composer:v1, composer-normalize, composer-require-checker, composer-unused

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

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

- name: "Install dependencies"
run: "composer update --no-interaction --no-progress"

- name: "Validate composer.json"
run: "composer validate --strict"

- name: "Normalize composer.json"
run: "composer-normalize --dry-run"

- name: "Check composer.json explicit dependencies"
run: "composer-require-checker check --config-file=$(realpath composer-require-checker.json)"

- name: "Check composer.json unused dependencies"
run: "composer-unused"

xml-lint:
name: "Lint XMLs"

runs-on: ubuntu-latest

strategy:
matrix:
php-version:
- "7.4"

steps:
- name: "Checkout"
uses: "actions/checkout@v2"

- name: "Install PHP"
uses: "shivammathur/setup-php@v2"
with:
coverage: "none"
php-version: "${{ matrix.php-version }}"
tools: composer:v1

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

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

- name: "Install dependencies"
run: "composer update --no-interaction --no-progress"

- name: "Lint XMLs"
uses: ./.github/lint-xml-configuration
with:
args: bash .github/lint-xml-configuration/lint-xml-configuration.sh

tests:
name: "Tests"

runs-on: ${{ matrix.os }}

strategy:
matrix:
os:
- "ubuntu-latest"
- "windows-latest"
php-version:
- "7.3"
- "7.4"
dependencies:
- "lowest"
- "highest"

steps:
- name: "Checkout"
uses: "actions/checkout@v2"

- name: "Install PHP"
uses: "shivammathur/setup-php@v2"
with:
coverage: "pcov"
php-version: "${{ matrix.php-version }}"
ini-values: zend.assertions=1
tools: composer:v1
extensions: sqlite

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

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

- name: "Install lowest dependencies"
if: ${{ matrix.dependencies == 'lowest' }}
run: "composer update --no-interaction --no-progress --prefer-lowest"

- name: "Install highest dependencies"
if: ${{ matrix.dependencies == 'highest' }}
run: "composer update --no-interaction --no-progress"

- name: "Run tests"
timeout-minutes: 10
run: "vendor/bin/phpunit"

code-coverage:
name: "Code Coverage"

runs-on: "ubuntu-latest"

strategy:
matrix:
php-version:
- "7.4"

steps:
- name: "Checkout"
uses: "actions/checkout@v2"

- name: "Install PHP"
uses: "shivammathur/setup-php@v2"
with:
coverage: "pcov"
php-version: "${{ matrix.php-version }}"
tools: composer:v1
extensions: sqlite

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

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

- name: "Install dependencies"
run: "composer update --no-interaction --no-progress"

- name: "Run tests"
timeout-minutes: 10
run: "vendor/bin/phpunit --coverage-clover=coverage.xml"

- name: "Send code coverage report to Codecov.io"
uses: codecov/codecov-action@v1
with:
token: ${{ secrets.CODECOV_TOKEN }}

coding-standards:
name: "Coding Standards"

runs-on: "ubuntu-latest"

strategy:
matrix:
php-version:
- "7.3"

steps:
- name: "Checkout"
uses: "actions/checkout@v2"

- name: "Install PHP"
uses: "shivammathur/setup-php@v2"
with:
coverage: "none"
php-version: "${{ matrix.php-version }}"
tools: composer:v1, cs2pr

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

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

- name: "Install dependencies"
run: "composer update --no-interaction --no-progress"

- name: "Check coding standards"
run: "vendor/bin/phpcs -q --report=checkstyle | cs2pr"

static-analysis:
name: "Static Analysis"

runs-on: "ubuntu-latest"

strategy:
matrix:
php-version:
- "7.4"

steps:
- name: "Checkout"
uses: "actions/checkout@v2"

- name: "Install PHP"
uses: "shivammathur/setup-php@v2"
with:
coverage: "none"
php-version: "${{ matrix.php-version }}"
tools: composer:v1, cs2pr

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

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

- name: "Install dependencies"
run: "composer update --no-interaction --no-progress"

- name: "Run static analysis"
run: "vendor/bin/phpstan analyse --no-progress --error-format=checkstyle | cs2pr"

- name: "Run PSalm for type-coverage"
run: |
vendor/bin/psalm --no-progress --show-info=false > /dev/null || true
vendor/bin/psalm --no-progress --shepherd --show-info=false --stats

compile-phar:
name: "Compile Phar"

runs-on: "ubuntu-latest"

strategy:
matrix:
php-version:
- "7.3"

steps:
- name: "Checkout"
uses: "actions/checkout@v2"

- name: "Install PHP"
uses: "shivammathur/setup-php@v2"
with:
coverage: "none"
php-version: "${{ matrix.php-version }}"
tools: composer:v1

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

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

- name: "Install dependencies"
run: "composer update --no-interaction --no-progress"

- name: "Download BOX.phar"
run: "wget https://github.com/humbug/box/releases/latest/download/box.phar"

- name: "Validate configuration for humbug/box"
run: "php box.phar validate"

- name: "Compile paratest.phar with humbug/box"
run: "php box.phar compile"

- name: "Show info about paratest.phar with humbug/box"
run: "php box.phar info bin/paratest.phar"
Loading