From f371884a19c92e1d8db102792fd48109b64080e0 Mon Sep 17 00:00:00 2001 From: tg666 Date: Fri, 16 Dec 2022 04:27:51 +0100 Subject: [PATCH] Added GitHub Actions --- .github/workflows/coding-style.yml | 50 ++++++++++++++++++++++++++++++ .github/workflows/coverage.yml | 42 +++++++++++++++++++++++++ .github/workflows/tests.yml | 44 ++++++++++++++++++++++++++ 3 files changed, 136 insertions(+) create mode 100644 .github/workflows/coding-style.yml create mode 100644 .github/workflows/coverage.yml create mode 100644 .github/workflows/tests.yml diff --git a/.github/workflows/coding-style.yml b/.github/workflows/coding-style.yml new file mode 100644 index 0000000..ea90757 --- /dev/null +++ b/.github/workflows/coding-style.yml @@ -0,0 +1,50 @@ +name: Coding style + +on: + push: + branches: + - master + tags: + - v* + pull_request: + branches: + - master + +jobs: + php-cs-fixer: + name: Php-Cs-Fixer + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v3 + + - name: Install PHP + uses: shivammathur/setup-php@v2 + with: + php-version: 8.1 + tools: composer:v2 + + - name: Install dependencies + run: composer update --no-progress --prefer-dist --prefer-stable --optimize-autoloader --quiet + + - name: Php-Cs-Fixer + run: vendor/bin/php-cs-fixer fix -v --dry-run + + php-stan: + name: PHPStan + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v3 + + - name: Install PHP + uses: shivammathur/setup-php@v2 + with: + php-version: 8.1 + tools: composer:v2 + + - name: Install dependencies + run: composer update --no-progress --prefer-dist --prefer-stable --optimize-autoloader --quiet + + - name: PhpStan + run: vendor/bin/phpstan analyse diff --git a/.github/workflows/coverage.yml b/.github/workflows/coverage.yml new file mode 100644 index 0000000..3450ba0 --- /dev/null +++ b/.github/workflows/coverage.yml @@ -0,0 +1,42 @@ +name: Coverage + +on: + push: + branches: + - master + tags: + - v* + pull_request: + branches: + - master + +jobs: + coverage: + name: Coverage + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v3 + + - name: Install PHP + uses: shivammathur/setup-php@v2 + with: + php-version: 8.1 + coverage: none + extensions: tokenizer + tools: composer:v2 + + - name: Install dependencies + run: | + composer update --no-progress --prefer-dist --prefer-stable --optimize-autoloader --quiet + composer update --no-progress --prefer-dist --prefer-stable --optimize-autoloader --quiet --working-dir=vendor-bin/nettrine + + - name: Generate the coverage report + run: vendor/bin/tester -p phpdbg -C -s --coverage ./coverage.xml --coverage-src ./src ./tests + + - name: Upload the coverage report + env: + COVERALLS_REPO_TOKEN: "${{ secrets.GITHUB_TOKEN }}" + run: | + wget https://github.com/php-coveralls/php-coveralls/releases/download/v2.5.3/php-coveralls.phar + php php-coveralls.phar --verbose --config tests/.coveralls.yml diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml new file mode 100644 index 0000000..1ff942d --- /dev/null +++ b/.github/workflows/tests.yml @@ -0,0 +1,44 @@ +name: Tests + +on: + push: + branches: + - master + tags: + - v* + pull_request: + branches: + - master + +jobs: + tests: + name: Unit Tests [PHP ${{ matrix.php-versions }}] + runs-on: ubuntu-latest + strategy: + matrix: + php-versions: ['8.1', '8.2'] + steps: + - name: Checkout + uses: actions/checkout@v3 + + - name: Install PHP + uses: shivammathur/setup-php@v2 + with: + php-version: ${{ matrix.php-versions }} + tools: composer:v2 + + - name: Install dependencies + run: | + composer update --no-progress --prefer-dist --prefer-stable --optimize-autoloader --quiet + composer update --no-progress --prefer-dist --prefer-stable --optimize-autoloader --quiet --working-dir=vendor-bin/nettrine + + - name: Run tests + run: vendor/bin/tester -C -s ./tests + + - name: Install dependencies (lowest) + run: | + composer update --no-progress --prefer-dist --prefer-lowest --prefer-stable --optimize-autoloader --quiet + composer update --no-progress --prefer-dist --prefer-lowest --prefer-stable --optimize-autoloader --quiet --working-dir=vendor-bin/nettrine + + - name: Run tests + run: vendor/bin/tester -C -s ./tests