# This workflow will install PHP dependencies, run tests and lint with a variety of PHP versions # For more information see: https://github.com/marketplace/actions/setup-php-action name: php-saml 4.x package on: push: branches: [ 4.* ] pull_request: branches: [ 4.* ] jobs: test: runs-on: ${{ matrix.operating-system }} strategy: fail-fast: false matrix: operating-system: ['ubuntu-latest'] php-versions: [7.3, 7.4, 8.0, 8.1] steps: - name: Setup PHP, with composer and extensions uses: shivammathur/setup-php@v2 #https://github.com/shivammathur/setup-php with: php-version: ${{ matrix.php-versions }} extensions: mbstring, intl, mcrypt, xml tools: composer:v2 ini-values: post_max_size=256M, max_execution_time=180 coverage: xdebug - name: Set git to use LF run: | git config --global core.autocrlf false git config --global core.eol lf - uses: actions/checkout@v2 - name: Validate composer.json and composer.lock run: composer validate - name: Install Composer dependencies run: | composer self-update composer install --prefer-source --no-interaction - name: Syntax check PHP run: | php vendor/bin/phpcpd --exclude tests --exclude vendor . php vendor/bin/phploc src/. mkdir -p tests/build/dependences php vendor/bin/pdepend --summary-xml=tests/build/logs/dependence-summary.xml --jdepend-chart=tests/build/dependences/jdepend.svg --overview-pyramid=tests/build/dependences/pyramid.svg src/. - name: PHP Code Sniffer run: php vendor/bin/phpcs --standard=tests/ZendModStandard src/Saml2 demo1 demo2 endpoints tests/src - name: Run unit tests run: vendor/bin/phpunit --verbose --debug