diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml new file mode 100644 index 0000000..74665f1 --- /dev/null +++ b/.github/workflows/main.yml @@ -0,0 +1,132 @@ +name: main + +on: + push: + branches: + - 3.x + pull_request: + +jobs: + unit-tests: + runs-on: ubuntu-18.04 + continue-on-error: ${{ matrix.experimental }} + strategy: + matrix: + php-versions: ['7.3', '7.4', '8.0'] + experimental: [ false ] + include: + - php-versions: '8.1' + experimental: true + name: Unit tests on PHP ${{ matrix.php-versions }} + steps: + - name: Checkout + uses: actions/checkout@v2 + + - name: Install PHP + uses: shivammathur/setup-php@v2 + with: + php-version: ${{ matrix.php-versions }} + + - name: Cache/Restore dependencies + uses: "actions/cache@v2" + with: + path: | + ~/.composer/cache + vendor + key: php-${{ matrix.php-version }} + restore-keys: php-${{ matrix.php-version }} + + - name: Install Dependencies + run: composer update --no-interaction --prefer-dist -a -o + + - name: Run Tests + run: vendor/bin/phpunit + + code-coverage: + runs-on: ubuntu-20.04 + name: Collecting code-coverage + steps: + - name: Checkout + uses: actions/checkout@v2 + + - name: Install PHP + uses: shivammathur/setup-php@v2 + with: + php-version: 7.4 + coverage: xdebug + + - name: Cache/Restore dependencies + uses: actions/cache@v2 + with: + path: | + ~/.composer/cache + vendor + key: php-7.4 + restore-keys: php-7.4 + + - name: Install Dependencies + run: composer update --no-interaction --prefer-dist -a -o + + - name: Run Tests + run: vendor/bin/phpunit --coverage-clover clover.xml + + - name: Upload coverage results to Coveralls + env: + COVERALLS_REPO_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + composer global require php-coveralls/php-coveralls + php-coveralls --coverage_clover=clover.xml -v --json_path coveralls.json + + validate-syntax: + runs-on: ubuntu-20.04 + name: Checking coding standard + steps: + - name: Checkout + uses: actions/checkout@v2 + + - name: Install PHP + uses: shivammathur/setup-php@v2 + with: + php-version: 7.4 + + - name: Cache/Restore dependencies + uses: actions/cache@v2 + with: + path: | + ~/.composer/cache + vendor + key: php-7.4 + restore-keys: php-7.4 + + - name: Install Dependencies + run: composer update --no-interaction --prefer-dist -a -o + + - name: Check coding standard + run: vendor/bin/parallel-lint --no-colors --no-progress src tests + + phpstan: + runs-on: ubuntu-20.04 + name: Performing static analysis (PHPStan) + steps: + - name: Checkout + uses: actions/checkout@v2 + + - name: Install PHP + uses: shivammathur/setup-php@v2 + with: + php-version: 7.4 + + - name: Cache/Restore dependencies + uses: actions/cache@v2 + with: + path: | + ~/.composer/cache + vendor + key: php-7.4 + restore-keys: php-7.4 + + - name: Install Dependencies + run: composer update --no-interaction --prefer-dist -a -o + + - name: Run PHPStan + run: vendor/bin/phpstan analyze --no-progress diff --git a/.gitignore b/.gitignore index 677266f..2376f98 100644 --- a/.gitignore +++ b/.gitignore @@ -2,4 +2,5 @@ vendor composer.lock composer.phar .php_cs.cache -.phpunit.result.cache \ No newline at end of file +.phpunit.result.cache +clover.xml diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 94a3519..0000000 --- a/.travis.yml +++ /dev/null @@ -1,33 +0,0 @@ -language: php - -php: - - 7.2 - - 7.3 - - 7.4 - - nightly - -matrix: - allow_failures: - - php: nightly - -before_install: - - composer self-update - - composer global require hirak/prestissimo 0.3.4 - -install: - - composer install -o --dev --prefer-dist - -script: - - vendor/bin/parallel-lint --no-colors --no-progress src tests - - vendor/bin/phpstan analyze --no-progress - - vendor/bin/phpunit --coverage-clover=coverage.clover - -after_script: - - wget https://scrutinizer-ci.com/ocular.phar - - php ocular.phar code-coverage:upload --format=php-clover coverage.clover - -cache: - directories: - - $HOME/.composer - - $HOME/.cache/composer - - $HOME/.config/composer diff --git a/README.md b/README.md index 5499736..1665acf 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,8 @@ -[![Build Status](https://travis-ci.org/skaut/Skautis.svg?branch=2.x)](https://travis-ci.org/skaut/Skautis) [![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/skaut/Skautis/badges/quality-score.png?b=2.x)](https://scrutinizer-ci.com/g/skaut/Skautis/?branch=2.x) [![Code Coverage](https://scrutinizer-ci.com/g/skaut/Skautis/badges/coverage.png?b=2.x)](https://scrutinizer-ci.com/g/skaut/Skautis/?branch=2.x) -[![Latest Stable Version](https://poser.pugx.org/skautis/skautis/v/stable.svg)](https://packagist.org/packages/skautis/skautis) [![Latest Unstable Version](https://poser.pugx.org/skautis/skautis/v/unstable.svg)](https://packagist.org/packages/skautis/skautis) [![License](https://poser.pugx.org/skautis/skautis/license.svg)](https://packagist.org/packages/skautis/skautis) +![GitHub Workflow Status](https://img.shields.io/github/workflow/status/skaut/Skautis/main) +[![Coverage Status](https://coveralls.io/repos/github/skaut/Skautis/badge.svg?branch=3.x)](https://coveralls.io/github/skaut/Skautis?branch=3.x) +[![Latest Stable Version](https://poser.pugx.org/skautis/skautis/v/stable.svg)](https://packagist.org/packages/skautis/skautis) +[![Latest Unstable Version](https://poser.pugx.org/skautis/skautis/v/unstable.svg)](https://packagist.org/packages/skautis/skautis) +[![License](https://poser.pugx.org/skautis/skautis/license.svg)](https://packagist.org/packages/skautis/skautis) # SkautIS PHP knihovna pro připojení do [Skautisu](https://is.skaut.cz/) diff --git a/composer.json b/composer.json index 7953539..e655687 100644 --- a/composer.json +++ b/composer.json @@ -28,16 +28,16 @@ "source": "https://github.com/skaut/Skautis" }, "require": { - "php": ">=7.2", + "php": ">=7.3", "ext-soap": "*", "psr/simple-cache": "1.0.*", "psr/event-dispatcher": "1.0.*" }, "require-dev": { - "phpunit/phpunit": "^8.5", + "phpunit/phpunit": "^9.5", "mockery/mockery": "^1.2", "friendsofphp/php-cs-fixer": "^2.15", - "jakub-onderka/php-parallel-lint": "^1.0", + "php-parallel-lint/php-parallel-lint": "^1.2", "phpstan/phpstan": "^0.12", "symfony/cache": "^4.3" }, diff --git a/src/Wsdl/Event/RequestFailEvent.php b/src/Wsdl/Event/RequestFailEvent.php index 0f31e9d..821a9a6 100644 --- a/src/Wsdl/Event/RequestFailEvent.php +++ b/src/Wsdl/Event/RequestFailEvent.php @@ -17,7 +17,7 @@ class RequestFailEvent implements Serializable /** * Parametry SOAP requestu na server * - * @var array + * @var array */ private $args; @@ -48,7 +48,7 @@ class RequestFailEvent implements Serializable /** * @param string $fname Nazev volane funkce - * @param array $args Argumenty pozadavku + * @param array $args Argumenty pozadavku */ public function __construct( string $fname, @@ -122,7 +122,7 @@ public function getFname(): string /** - * @return array + * @return array */ public function getArgs(): array { diff --git a/src/Wsdl/Event/RequestPostEvent.php b/src/Wsdl/Event/RequestPostEvent.php index e8a2643..4d80962 100644 --- a/src/Wsdl/Event/RequestPostEvent.php +++ b/src/Wsdl/Event/RequestPostEvent.php @@ -17,7 +17,7 @@ class RequestPostEvent implements Serializable /** * Parametry SOAP requestu na server * - * @var array + * @var array */ private $args; @@ -34,7 +34,7 @@ class RequestPostEvent implements Serializable /** * @param string $fname Nazev volane funkce - * @param array $args Argumenty pozadavku + * @param array $args Argumenty pozadavku * @param array|stdClass|null $result */ public function __construct( @@ -78,7 +78,7 @@ public function getFname(): string } /** - * @return array + * @return array */ public function getArgs(): array { diff --git a/src/Wsdl/Event/RequestPreEvent.php b/src/Wsdl/Event/RequestPreEvent.php index 27584ae..c4be2a7 100644 --- a/src/Wsdl/Event/RequestPreEvent.php +++ b/src/Wsdl/Event/RequestPreEvent.php @@ -16,7 +16,7 @@ class RequestPreEvent implements Serializable /** * Parametry SOAP requestu na server * - * @var array + * @var array */ private $args; @@ -38,7 +38,7 @@ class RequestPreEvent implements Serializable /** * @param string $fname Nazev volane funkce - * @param array $args Argumenty pozadavku + * @param array $args Argumenty pozadavku * @param array $options * @param array $inputHeaders * @param array> $trace Zasobnik volanych funkci @@ -88,7 +88,7 @@ public function getFname(): string } /** - * @return array + * @return array */ public function getArgs(): array { diff --git a/src/Wsdl/WebService.php b/src/Wsdl/WebService.php index c978598..b1ef0d1 100644 --- a/src/Wsdl/WebService.php +++ b/src/Wsdl/WebService.php @@ -124,7 +124,7 @@ protected function soapCall( * @param string $functionName Jmeno funkce volane pres SOAP * @param array $arguments Argumenty k mergnuti s defaultnimy * - * @return array Argumenty pro SoapClient::__soapCall + * @return array Argumenty pro SoapClient::__soapCall */ protected function prepareArgs(string $functionName, array $arguments): array {