From 7b84db64a57b580fd46682dd197a0893915564cd Mon Sep 17 00:00:00 2001 From: Johannes Meyer Date: Wed, 18 Jan 2023 12:14:05 +0100 Subject: [PATCH] actions: Run PHP unit tests --- .github/workflows/php.yml | 39 +++++++++++++++++++++++++++++++++++++++ phpunit.xml | 16 ++++++++++++++++ 2 files changed, 55 insertions(+) create mode 100644 phpunit.xml diff --git a/.github/workflows/php.yml b/.github/workflows/php.yml index c30f2d23..de245800 100644 --- a/.github/workflows/php.yml +++ b/.github/workflows/php.yml @@ -40,3 +40,42 @@ jobs: - name: PHP CodeSniffer if: success() || matrix.allow_failure 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: ['7.2', '7.3', '7.4', '8.0', '8.1', '8.2'] + os: ['ubuntu-latest'] + + steps: + - name: Checkout code base + uses: actions/checkout@v3 + + - 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 diff --git a/phpunit.xml b/phpunit.xml new file mode 100644 index 00000000..58f58f24 --- /dev/null +++ b/phpunit.xml @@ -0,0 +1,16 @@ + + + + + test/php + + +