[WIP] Eliminate command structure duplication using trait-based archi… #35
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: TYPO3 Compatibility | |
| on: | |
| push: | |
| branches: [ master, develop, feature/** ] | |
| pull_request: | |
| branches: [ master, develop ] | |
| jobs: | |
| typo3-compatibility: | |
| name: TYPO3 ${{ matrix.typo3-version }} Compatibility Check | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| typo3-version: ['^13.4'] | |
| php-version: ['8.3', '8.4'] | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| - name: Setup PHP version ${{ matrix.php-version }} | |
| uses: shivammathur/setup-php@v2 | |
| with: | |
| php-version: ${{ matrix.php-version }} | |
| extensions: mbstring, xml, intl, zip, json, iconv | |
| tools: composer:v2 | |
| - name: Get composer cache directory | |
| id: composer-cache | |
| run: echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT | |
| - name: Cache dependencies | |
| uses: actions/cache@v4 | |
| with: | |
| path: ${{ steps.composer-cache.outputs.dir }} | |
| key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.json') }} | |
| restore-keys: ${{ runner.os }}-composer- | |
| - name: Install dependencies with TYPO3 ${{ matrix.typo3-version }} | |
| run: | | |
| composer require typo3/cms-core:${{ matrix.typo3-version }} typo3/cms-backend:${{ matrix.typo3-version }} --no-progress --prefer-dist | |
| git checkout composer.json | |
| - name: Run TYPO3 Rector compatibility check | |
| run: | | |
| composer install --no-progress --prefer-dist | |
| composer lint:rector | |
| extension-scanner: | |
| name: TYPO3 Extension Scanner | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| - name: Setup PHP | |
| uses: shivammathur/setup-php@v2 | |
| with: | |
| php-version: '8.3' | |
| extensions: mbstring, xml, intl, zip, json, iconv | |
| tools: composer:v2 | |
| - name: Install TYPO3 core for scanner | |
| run: | | |
| composer require typo3/cms-core:^13.4 --no-progress --prefer-dist | |
| git checkout composer.json | |
| - name: Run Extension Scanner (if available) | |
| run: | | |
| if [ -f .build/bin/typo3 ]; then | |
| .build/bin/typo3 extension:scanner scan | |
| else | |
| echo "Extension scanner not available, skipping..." | |
| fi | |
| continue-on-error: true |