name: CI on: push: pull_request: permissions: contents: read jobs: cs: runs-on: ubuntu-latest if: "!contains(github.event.head_commit.message, '[skip ci]') && !contains(github.event.head_commit.message, '[ci skip]')" name: Coding Style steps: - name: Checkout code uses: actions/checkout@v4 - name: Setup PHP uses: shivammathur/setup-php@v2 with: php-version: "8.3" extensions: mbstring tools: composer:v2 coverage: none - name: Install dependencies run: | composer install --prefer-dist --no-interaction --no-progress npm install --omit=optional - name: Check Coding Style - PHP run: vendor/bin/php-cs-fixer fix --dry-run --using-cache=no --diff --verbose - name: Check composer.json format run: composer validate --strict --no-check-lock && composer normalize --dry-run --no-check-lock - name: Check Coding Style - JS run: npx eslint --ext .js . - name: Plugins - Check composer.json format run: | for plugin_dir in plugins/*/; do ( echo "========== $plugin_dir ==========" cd "$plugin_dir" composer validate --strict --no-check-lock && composer normalize --dry-run --no-check-lock "$plugin_dir/composer.json" echo " " ); done phpstan: runs-on: ubuntu-latest if: "!contains(github.event.head_commit.message, '[skip ci]') && !contains(github.event.head_commit.message, '[ci skip]')" name: Static Analysis steps: - name: Checkout code uses: actions/checkout@v4 - name: Setup PHP uses: shivammathur/setup-php@v2 with: php-version: "8.3" extensions: mbstring tools: composer:v2 coverage: none - name: Setup composer run: | composer require "kolab/net_ldap3:~1.1.1" --no-update composer require "laravel/dusk:^8.3" --no-update - name: Install dependencies run: composer install --prefer-dist --no-interaction --no-progress - name: Run Static Analysis run: | rm -r public_html # remove once https://github.com/phpstan/phpstan/issues/10321 is fixed vendor/bin/phpstan analyse -v