diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..fa5df6a --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,63 @@ +# https://help.github.com/en/categories/automating-your-workflow-with-github-actions + +on: + - "pull_request" + - "push" + +name: "CI" + +jobs: + coding-guidelines: + name: "Coding Guidelines" + + runs-on: "ubuntu-latest" + + steps: + - name: "Checkout" + uses: "actions/checkout@v2" + + - name: "Run friendsofphp/php-cs-fixer" + run: "php ./tools/php-cs-fixer fix --dry-run --show-progress=dots --using-cache=no --verbose" + + tests: + name: "Tests" + + runs-on: "ubuntu-latest" + + strategy: + fail-fast: false + matrix: + php-version: + - "7.2" + - "7.3" + - "7.4" + - "8.0" + - "8.1" + + steps: + - name: "Checkout" + uses: "actions/checkout@v2" + + - name: "Install PHP with extensions" + uses: "shivammathur/setup-php@v2" + with: + php-version: "${{ matrix.php-version }}" + coverage: "pcov" + + - name: "Cache dependencies installed with composer" + uses: "actions/cache@v1" + with: + path: "~/.composer/cache" + key: "php${{ matrix.php-version }}-composer-${{ matrix.dependencies }}-${{ hashFiles('**/composer.json') }}" + restore-keys: "php${{ matrix.php-version }}-composer-${{ matrix.dependencies }}-" + + - name: "Install dependencies with composer" + run: "./tools/composer update --no-ansi --no-interaction --no-progress" + + - name: "Run tests with phpunit/phpunit" + run: "vendor/bin/phpunit --coverage-clover=coverage.xml" + + - name: "Send code coverage report to Codecov.io" + env: + CODECOV_TOKEN: "${{ secrets.CODECOV_TOKEN }}" + run: "bash <(curl -s https://codecov.io/bash) || true" diff --git a/.phive/phars.xml b/.phive/phars.xml new file mode 100644 index 0000000..d0e129f --- /dev/null +++ b/.phive/phars.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/tools/composer b/tools/composer new file mode 100755 index 0000000..857f198 Binary files /dev/null and b/tools/composer differ diff --git a/tools/php-cs-fixer b/tools/php-cs-fixer new file mode 100755 index 0000000..78798f0 Binary files /dev/null and b/tools/php-cs-fixer differ