diff --git a/.github/workflows/php.yml b/.github/workflows/php.yml index f303c309a..6880a62fa 100644 --- a/.github/workflows/php.yml +++ b/.github/workflows/php.yml @@ -1,79 +1,19 @@ -name: PHP Tests +name: CI on: - push: - branches: - - main - - release/* pull_request: + workflow_dispatch: jobs: - lint: - name: Static analysis for php ${{ matrix.php }} on ${{ matrix.os }} - runs-on: ${{ matrix.os }} - - strategy: - fail-fast: false - matrix: - php: ['8.2', '8.3', '8.4'] - os: ['ubuntu-latest'] - - steps: - - name: Checkout code base - uses: actions/checkout@v4 - - - name: Setup PHP - uses: shivammathur/setup-php@v2 - with: - php-version: ${{ matrix.php }} - tools: phpcs - - - name: Setup dependencies - run: composer require -n --no-progress overtrue/phplint - - - name: PHP Lint - if: ${{ ! cancelled() }} - run: ./vendor/bin/phplint -n --exclude={^vendor/.*} -- . - - - name: PHP CodeSniffer - if: ${{ ! cancelled() }} - run: phpcs -wps --colors - - test: - name: Unit tests with php ${{ matrix.php }} on ${{ matrix.os }} - runs-on: ${{ matrix.os }} - - env: - phpunit-version: 8.5 - - strategy: - fail-fast: false - matrix: - php: ['8.2', '8.3', '8.4'] - os: ['ubuntu-latest'] - - steps: - - name: Checkout code base - uses: actions/checkout@v4 - - - name: Setup PHP - uses: shivammathur/setup-php@v2 - with: - php-version: ${{ matrix.php }} - tools: phpunit:${{ matrix.phpunit-version || env.phpunit-version }} - - - name: Setup Icinga Web - run: | - git clone --depth 1 https://github.com/Icinga/icingaweb2.git _icingaweb2 - ln -s `pwd` _icingaweb2/modules/icingadb - - - name: Setup Libraries - run: | - mkdir _libraries - git clone --depth 1 -b snapshot/nightly https://github.com/Icinga/icinga-php-library.git _libraries/ipl - git clone --depth 1 -b snapshot/nightly https://github.com/Icinga/icinga-php-thirdparty.git _libraries/vendor - - - name: PHPUnit - env: - ICINGAWEB_LIBDIR: _libraries - run: phpunit --verbose --bootstrap _icingaweb2/test/php/bootstrap.php + php: + name: PHP + uses: Icinga/github-actions/.github/workflows/php.yml@php-workflow + with: + php-extensions: ldap + dependencies: | + { + "/icingaweb2" : "https://github.com/Icinga/icingaweb2.git", + "/usr/share/icingaweb2-modules/x509" : "https://github.com/Icinga/icingaweb2-module-x509.git", + "/usr/share/icingaweb2-modules/pdfexport" : "https://github.com/Icinga/icingaweb2-module-pdfexport.git", + "/usr/share/icingaweb2-modules/reporting" : "https://github.com/Icinga/icingaweb2-module-reporting.git" + } diff --git a/.github/workflows/phpstan.yml b/.github/workflows/phpstan.yml deleted file mode 100644 index f802940ea..000000000 --- a/.github/workflows/phpstan.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: PHPStan - -on: - pull_request: - -jobs: - phpstan: - uses: icinga/github-actions/.github/workflows/phpstan.yml@main - with: - phpExtensions: ldap - dependencies: | - { - "/icingaweb2" : "https://github.com/Icinga/icingaweb2.git", - "/usr/share/icingaweb2-modules/x509" : "https://github.com/Icinga/icingaweb2-module-x509.git", - "/usr/share/icingaweb2-modules/pdfexport" : "https://github.com/Icinga/icingaweb2-module-pdfexport.git", - "/usr/share/icingaweb2-modules/reporting" : "https://github.com/Icinga/icingaweb2-module-reporting.git" - }