Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
119 changes: 21 additions & 98 deletions .github/workflows/php.yml
Original file line number Diff line number Diff line change
@@ -1,110 +1,33 @@
name: PHP Tests
name: CI

on:
push:
branches:
- main
- support/*
- release/*
- support/*
pull_request:
branches:
- main

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/.*} --exclude=library/Icinga/Util/String.php ${{ matrix.phplint_options }} -- .

- name: PHP CodeSniffer
if: ${{ ! cancelled() }}
run: phpcs

test:
name: Unit tests with php ${{ matrix.php }} on ${{ matrix.os }}
runs-on: ${{ matrix.os }}

env:
php:
name: PHP
uses: Icinga/github-actions/.github/workflows/php.yml@main
with:
databases: true
php-extensions: ldap
phpunit-version: 9.6

strategy:
fail-fast: false
matrix:
php: ['8.2', '8.3', '8.4']
os: ['ubuntu-latest']

services:
mysql:
image: mariadb
env:
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: icinga_unittest
MYSQL_USER: icinga_unittest
MYSQL_PASSWORD: icinga_unittest
options: >-
--health-cmd "mariadb -s -uroot -proot -e'SHOW DATABASES;' 2> /dev/null | grep icinga_unittest > test"
--health-interval 10s
--health-timeout 5s
--health-retries 5
ports:
- 3306/tcp

pgsql:
image: postgres
env:
POSTGRES_USER: icinga_unittest
POSTGRES_PASSWORD: icinga_unittest
POSTGRES_DB: icinga_unittest
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
ports:
- 5432/tcp

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 }}
extensions: mysql, pgsql, ldap

- name: Setup dependencies
run: |
composer require --no-install ipl/i18n:@dev ipl/web:@dev
composer install --no-progress
git clone --depth 1 --branch snapshot/nightly https://github.com/Icinga/icinga-php-thirdparty.git vendor/icinga-php-thirdparty
- name: PHPUnit
env:
ICINGAWEB_TEST_MYSQL_PORT: ${{ job.services.mysql.ports['3306'] }}
ICINGAWEB_TEST_PGSQL_PORT: ${{ job.services.pgsql.ports['5432'] }}
ICINGAWEB_LIBDIR: vendor/
run: phpunit --verbose
dependencies: |
{
"./icinga-php/ipl" : "https://github.com/Icinga/icinga-php-library.git#snapshot/nightly",
"./icinga-php/vendor" : "https://github.com/Icinga/icinga-php-thirdparty.git#snapshot/nightly",
"./icingaweb2-modules/icingadb" : "https://github.com/Icinga/icingadb-web.git",
"./icingaweb2-modules/pdfexport" : "https://github.com/Icinga/icingaweb2-module-pdfexport.git",
"./icingaweb2-modules/x509" : "https://github.com/Icinga/icingaweb2-module-x509.git"
}
env: |
{
"ICINGAWEB_LIBDIR" : "./icinga-php",
"ICINGAWEB_MODULES_DIR" : "modules:./icingaweb2-modules"
}
18 changes: 0 additions & 18 deletions .github/workflows/phpstan.yml

This file was deleted.

Loading