name: CI on: [push, pull_request] jobs: run-tests: name: Tests with PHP ${{ matrix.php-version }} runs-on: ubuntu-latest env: VUFIND_HOME: $GITHUB_WORKSPACE VUFIND_LOCAL_DIR: $GITHUB_WORKSPACE/local strategy: matrix: php-version: ['8.1', '8.2', '8.3'] include: - php-version: 8.1 phing_tasks: "phpunitfast" - php-version: 8.2 phing_tasks: "phpunitfast" - php-version: 8.3 phing_tasks: "phpunitfast phpcs-console php-cs-fixer-dryrun phpstan-console" steps: - name: Setup PHP uses: shivammathur/setup-php@v2 with: php-version: ${{ matrix.php-version }} extensions: intl, xsl - name: Checkout uses: actions/checkout@v3 - name: Get composer cache directory id: composer-cache run: echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT - name: Cache composer dependencies uses: actions/cache@v3 with: path: ${{ steps.composer-cache.outputs.dir }} key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }} restore-keys: ${{ runner.os }}-composer- - name: Cache php-cs-fixer data uses: actions/cache@v3 with: path: .php_cs_cache key: "php-${{ matrix.php-version }}-php-cs-fixer-${{ github.sha }}" restore-keys: "php-${{ matrix.php-version }}-php-cs-fixer-" - name: Cache phpstan data uses: actions/cache@v3 with: path: .phpstan_cache key: "php-${{ matrix.php-version }}-phpstan-${{ github.sha }}" restore-keys: "php-${{ matrix.php-version }}-phpstan-" - name: Install composer dependencies run: composer install - name: Run tests run: vendor/bin/phing ${{ matrix.phing_tasks }}