# from doctrine/instantiator: # https://github.com/doctrine/instantiator/blob/97aa11bb71ad6259a8c5a1161b4de2d6cdcc5501/.github/workflows/continuous-integration.yml name: "CI" on: pull_request: branches: - "*.x" - master push: branches: - "*.x" - master env: fail-fast: true jobs: phpunit: name: "PHPUnit" runs-on: "ubuntu-20.04" strategy: matrix: include: - php-version: 7.2 composer-flags: "--prefer-lowest" - php-version: 7.3 symfony-require: "4.4.*" - php-version: 7.4 symfony-require: "5.3.*" - php-version: 8.0 symfony-require: "5.4.*" - php-version: 8.1 symfony-require: "5.4.*" steps: - name: "Checkout" uses: "actions/checkout@v2" with: fetch-depth: 2 - name: "Install PHP without coverage" uses: "shivammathur/setup-php@v2" with: php-version: "${{ matrix.php-version }}" tools: composer coverage: "none" - name: Get composer cache directory id: composercache run: echo "::set-output name=dir::$(composer config cache-files-dir)" - name: Cache dependencies uses: actions/cache@v2 with: path: ${{ steps.composercache.outputs.dir }} key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.json') }} restore-keys: ${{ runner.os }}-composer- - name: "Install dependencies with composer" env: SYMFONY_REQUIRE: "${{ matrix.symfony-require }}" run: | composer global require --no-progress --no-scripts --no-plugins symfony/flex composer update --no-interaction --no-progress ${{ matrix.composer-flags }} - name: "Run PHPUnit" run: "./phpunit"