# https://help.github.com/en/categories/automating-your-workflow-with-github-actions name: "Continuous Integration" on: - "pull_request" env: COMPOSER_FLAGS: "--ansi --no-interaction --no-progress --no-suggest --prefer-dist --optimize-autoloader" SYMFONY_PHPUNIT_VERSION: "" jobs: tests: name: "Tests" runs-on: "ubuntu-latest" strategy: matrix: php-version: - "5.3" - "5.4" - "5.5" - "5.6" - "7.0" - "7.1" - "7.2" - "7.3" - "7.4" dependencies: - "locked" - "highest" steps: - name: "Checkout" uses: "actions/checkout@v2" - name: "Install PHP" uses: "shivammathur/setup-php@v2" with: coverage: "none" ini-values: "memory_limit=-1" php-version: "${{ matrix.php-version }}" - name: "Determine composer cache directory" id: "determine-composer-cache-directory" run: "echo \"::set-output name=directory::$(composer config cache-dir)\"" - name: "Cache dependencies installed with composer" uses: "actions/cache@v1" with: path: "${{ steps.determine-composer-cache-directory.outputs.directory }}" key: "php-${{ matrix.php-version }}-symfony-php-unit-version-${{ env.SYMFONY_PHPUNIT_VERSION }}-${{ hashFiles('**/composer.lock') }}" restore-keys: "php-${{ matrix.php-version }}-symfony-php-unit-version-${{ env.SYMFONY_PHPUNIT_VERSION }}" - name: "Install highest dependencies from composer.json using composer binary provided by system" if: "matrix.dependencies == 'highest'" run: "composer update ${{ env.COMPOSER_FLAGS }}" - name: "Install dependencies from composer.lock using composer binary provided by system" if: "matrix.dependencies == 'locked'" run: "composer install ${{ env.COMPOSER_FLAGS }}" - name: "Install dependencies from composer.lock using composer binary from source" if: "matrix.dependencies == 'locked'" run: "bin/composer install ${{ env.COMPOSER_FLAGS }}" - name: "Prepare git environment" run: "git config --global user.name composer && git config --global user.email composer@example.com" - name: "Set SYMFONY_PHPUNIT_VERSION environment variable" if: "matrix.php-version == '7.4'" run: "echo \"::set-env name=SYMFONY_PHPUNIT_VERSION::7.5\"" - name: "Run tests" run: "vendor/bin/simple-phpunit"