--- /dev/null
+# 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