Your IP : 216.73.217.13


Current Path : /var/www/surf/TYPO3/vendor/mask/mask/.github/workflows/
Upload File :
Current File : /var/www/surf/TYPO3/vendor/mask/mask/.github/workflows/tests.yaml

name: Tests

on:
  push:
    branches:
      - "*"
  pull_request:
    branches:
      - "*"
  schedule:
    - cron: "0 2 * * 1-5"
jobs:
  early_cgl:
    name: CGL
    runs-on: ubuntu-latest

    steps:
      - name: Setup PHP
        uses: shivammathur/setup-php@v2
        with:
          php-version: 8.2

      - uses: actions/checkout@v3
        with:
          fetch-depth: 1

      - name: Validate composer.json
        run: composer validate --strict

      - name: Get composer cache directory
        id: composer-cache
        run: echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT

      - name: Cache dependencies
        uses: actions/cache@v3
        with:
          path: ${{ steps.composer-cache.outputs.dir }}
          key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.json') }}
          restore-keys: ${{ runner.os }}-composer-

      - name: Install dependencies
        run: composer require typo3/cms-core:^12.4 --prefer-dist --no-progress

      - name: PHP CS Fixer
        run: Build/Scripts/runTests.sh -s cgl -n

      - name: PHP CS Fixer Header
        run: Build/Scripts/runTests.sh -s cglHeader -n

  unit_tests:
    name: Unit Tests TYPO3 v${{ matrix.TYPO3 }} PHP ${{ matrix.php }}
    runs-on: ubuntu-latest
    strategy:
      fail-fast: false
      matrix:
        php: [ '7.4', '8.0', '8.1', '8.2' ]
        TYPO3: [ '11.5' ]
        include:
          - TYPO3: '12.4'
            php: '8.1'
          - TYPO3: '12.4'
            php: '8.2'
    steps:
      - name: Setup PHP
        uses: shivammathur/setup-php@v2
        with:
          php-version: ${{ matrix.php }}

      - uses: actions/checkout@v3

      - name: Get composer cache directory
        id: composer-cache
        run: echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT

      - name: Cache dependencies
        uses: actions/cache@v3
        with:
          path: ${{ steps.composer-cache.outputs.dir }}
          key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.json') }}
          restore-keys: ${{ runner.os }}-composer-

      - name: Install dependencies
        run: composer require typo3/cms-core:^${{ matrix.TYPO3 }} --prefer-dist --no-progress

      - name: Unit
        run: Build/Scripts/runTests.sh -s unit -p ${{ matrix.php }}

  PHPStan:
    name: PHPStan TYPO3 12.4 PHP 8.2
    runs-on: ubuntu-latest

    steps:
      - name: Setup PHP
        uses: shivammathur/setup-php@v2
        with:
          php-version: 8.2

      - uses: actions/checkout@v3

      - name: Get composer cache directory
        id: composer-cache
        run: echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT

      - name: Cache dependencies
        uses: actions/cache@v3
        with:
          path: ${{ steps.composer-cache.outputs.dir }}
          key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.json') }}
          restore-keys: ${{ runner.os }}-composer-

      - name: Install dependencies
        run: composer require typo3/cms-core:^12.4 --prefer-dist --no-progress

      - name: PHPStan
        run: XDEBUG_MODE="off" .Build/bin/phpstan analyse -c Build/phpstan/phpstan.neon --no-progress --no-interaction --memory-limit 4G