name: PHP Tests on: push: branches: [ 1.7 ] pull_request: branches: [ 1.7 ] jobs: unit-tests: runs-on: ${{ matrix.os }} strategy: matrix: php: [ 8.0, 7.4, 7.3] os: [ubuntu-latest] steps: - uses: actions/checkout@v2 - name: Setup PHP uses: shivammathur/setup-php@v2 with: php-version: ${{ matrix.php }} extensions: opcache, gd coverage: none - name: Update composer run: composer update - name: Validate composer.json and composer.lock run: composer validate - 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: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }} restore-keys: ${{ runner.os }}-composer- - name: Install dependencies run: composer install --prefer-dist --no-progress - name: Run test suite run: vendor/bin/codecept run slack: name: Slack needs: unit-tests runs-on: ubuntu-latest if: always() steps: - uses: technote-space/workflow-conclusion-action@v2 - uses: 8398a7/action-slack@v3 with: status: failure fields: repo,message,author,action icon_emoji: ':octocat:' author_name: 'Github Action Tests (1.7)' text: '💥 Automated Test Failure' env: GITHUB_TOKEN: ${{ github.token }} SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} if: env.WORKFLOW_CONCLUSION == 'failure'