summaryrefslogtreecommitdiffstats
path: root/.github/workflows/php.yml
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-28 12:45:49 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-28 12:45:49 +0000
commit0ff39c83d38ce538a9f5dba53eca0fa9cb16d9e6 (patch)
tree84c735df2e97350a721273e9dd425729d43cc8a2 /.github/workflows/php.yml
parentInitial commit. (diff)
downloadicingaweb2-module-pdfexport-upstream.tar.xz
icingaweb2-module-pdfexport-upstream.zip
Adding upstream version 0.10.2+dfsg1.upstream/0.10.2+dfsg1upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '.github/workflows/php.yml')
-rw-r--r--.github/workflows/php.yml50
1 files changed, 50 insertions, 0 deletions
diff --git a/.github/workflows/php.yml b/.github/workflows/php.yml
new file mode 100644
index 0000000..8321fa1
--- /dev/null
+++ b/.github/workflows/php.yml
@@ -0,0 +1,50 @@
+name: PHP Tests
+
+on:
+ push:
+ branches:
+ - master
+ - release/*
+ pull_request:
+ branches:
+ - master
+
+jobs:
+ lint:
+ name: Static analysis for php ${{ matrix.php }} on ${{ matrix.os }}
+ runs-on: ${{ matrix.os }}
+
+ strategy:
+ fail-fast: false
+ matrix:
+ php: ['7.2', '7.3', '7.4', '8.0', '8.1']
+ os: ['ubuntu-latest']
+
+ steps:
+ - name: Checkout code base
+ uses: actions/checkout@v2
+
+ - name: Setup PHP
+ uses: shivammathur/setup-php@v2
+ with:
+ php-version: ${{ matrix.php }}
+ tools: phpcs
+
+ # The cleanup is required because otherwise the tests fail on PHP 8+.
+ # Some of our deps are not officially compatible with that but will
+ # pass the lint tests. Removing composer.json and composer.lock first
+ # ensures that the test dep setup succeeds. Not removing vendor, but
+ # only renaming it ensures the files are scanned still.
+ - name: Cleanup
+ run: rm composer.* && mv vendor real-vendor
+
+ - name: Setup dependencies
+ run: composer require -n --no-progress overtrue/phplint
+
+ - name: PHP Lint
+ if: success() || matrix.allow_failure
+ run: ./vendor/bin/phplint -n --exclude={^vendor/.*} -- .
+
+ - name: PHP CodeSniffer
+ if: success() || matrix.allow_failure
+ run: phpcs