# yamllint disable rule:line-length # yamllint disable rule:braces name: Continuous Integration on: pull_request: push: branches: - main - master jobs: tests: runs-on: ${{ matrix.operating-system }} strategy: matrix: operating-system: ['ubuntu-latest'] php-version: ['5.6', '7.0', '7.1', '7.2', '7.3', '7.4', '8.0'] name: CI on ${{ matrix.operating-system }} with PHP ${{ matrix.php-version }} steps: - name: Checkout code uses: actions/checkout@v2 - name: Setup PHP uses: shivammathur/setup-php@v2 with: php-version: ${{ matrix.php-version }} tools: composer:v2 coverage: none - name: Get composer cache directory id: composer-cache run: echo "::set-output name=dir::$(composer config cache-files-dir)" - name: Cache dependencies uses: actions/cache@v2 with: path: ${{ steps.composer-cache.outputs.dir }} key: composer-${{ runner.os }}-${{ matrix.php-version }}-${{ hashFiles('composer.*') }}-${{ matrix.composer-flags }} restore-keys: | composer-${{ runner.os }}-${{ matrix.php-version }}-${{ hashFiles('composer.*') }}- composer-${{ runner.os }}-${{ matrix.php-version }}- composer-${{ runner.os }}- composer- - name: Install dependencies run: | composer update --no-interaction --prefer-dist --no-progress ${{ matrix.composer-flags }} - name: Run tests run: | vendor/bin/phpunit - name: Lint code run: | find Spreadsheet/ -type f -name \*.php | xargs -n1 php -l