name: Main on: [push, pull_request] jobs: node: name: Node ${{ matrix.node }} runs-on: ubuntu-latest if: "!contains(github.event.head_commit.message, '[ci skip]')" strategy: matrix: node: ['12.14.0', '14'] steps: - name: Checkout the project uses: actions/checkout@v2 - name: Setup the Node ${{ matrix.node }} environment on ${{ runner.os }} uses: actions/setup-node@v2 with: node-version: ${{ matrix.node }} env: NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Restore the Yarn cache directory id: yarncache run: echo "::set-output name=dir::$(yarn cache dir)" - uses: actions/cache@v2 with: path: ${{ steps.yarncache.outputs.dir }} key: ${{ runner.os }}-${{ matrix.node }}-yarn-${{ hashFiles('**/package.json') }} restore-keys: ${{ runner.os }}-${{ matrix.node }}-yarn- - name: Install dependencies using Yarn run: yarn install - name: Execute the Node test scripts run: yarn test - name: Verify that assets are built successfully run: | yarn build:production cat public/mix-manifest.json php: name: PHP ${{ matrix.php }} runs-on: ubuntu-latest if: "!contains(github.event.head_commit.message, '[ci skip]')" strategy: matrix: php: ['7.3', '7.4', '8.0'] steps: - name: Checkout the project uses: actions/checkout@v2 - name: Setup the PHP ${{ matrix.php }} environment on ${{ runner.os }} uses: shivammathur/setup-php@v2 with: php-version: ${{ matrix.php }} coverage: xdebug env: COMPOSER_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Restore the Composer cache directory id: composercache run: echo "::set-output name=dir::$(composer config cache-files-dir)" - uses: actions/cache@v2 with: path: ${{ steps.composercache.outputs.dir }} key: ${{ runner.os }}-${{ matrix.php }}-composer-${{ hashFiles('**/composer.json') }} restore-keys: ${{ runner.os }}-${{ matrix.php }}-composer- - name: Install Composer dependencies run: composer install --no-progress --prefer-dist --optimize-autoloader --no-suggest - name: Execute the PHP lint script run: composer run-script lint