name: CI on: push: branches: - main pull_request: jobs: check-composer: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Install PHP uses: shivammathur/setup-php@v2 with: php-version: 8.1 coverage: none tools: composer:v2 env: COMPOSER_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Validate composer.json run: composer validate php-linting: runs-on: ubuntu-latest strategy: matrix: php-version: - 8.1 steps: - name: Checkout uses: actions/checkout@v2 - name: Install PHP uses: shivammathur/setup-php@v2 with: php-version: "${{ matrix.php-version }}" coverage: none tools: composer:v2 env: COMPOSER_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: PHP lint run: "find *.php Classes Configuration Tests -name '*.php' -print0 | xargs -0 -n 1 -P 4 php -l" coding-guideline: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Install PHP uses: shivammathur/setup-php@v2 with: php-version: "8.1" coverage: none tools: composer:v2 env: COMPOSER_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Install dependencies run: composer install --prefer-dist --no-progress - name: Coding Guideline run: ./vendor/bin/phpcs tests: runs-on: ubuntu-latest strategy: matrix: include: - php-version: '8.1' typo3-version: '^11.5' steps: - uses: actions/checkout@v2 - name: Install NodeJS uses: actions/setup-node@v3 with: node-version: 16 - name: Install PHP uses: shivammathur/setup-php@v2 with: php-version: "${{ matrix.php-version }}" coverage: none tools: composer:v2 env: COMPOSER_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Install PHP dependencies with expected TYPO3 version run: composer require --prefer-dist --no-progress "typo3/cms-core:${{ matrix.typo3-version }}" "typo3/cms-form:${{ matrix.typo3-version }}" - name: Install npm dependencies run: npm install - name: PHPUnit Tests run: ./vendor/bin/phpunit --testdox