Skip to content

Commit

Permalink
Merge branch 'release/10.0.0'
Browse files Browse the repository at this point in the history
  • Loading branch information
garbast committed Nov 10, 2023
2 parents e1e1213 + ca9467c commit 364ceb8
Show file tree
Hide file tree
Showing 118 changed files with 5,519 additions and 4,820 deletions.
1,384 changes: 0 additions & 1,384 deletions .Build/docker-compose.yml

This file was deleted.

927 changes: 0 additions & 927 deletions .Build/runTests.sh

This file was deleted.

77 changes: 0 additions & 77 deletions .Build/test.sh

This file was deleted.

5 changes: 5 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
/.github/ export-ignore
/Build/ export-ignore
/Tests/ export-ignore
/.gitattributes export-ignore
/.gitignore export-ignore
152 changes: 87 additions & 65 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,98 +8,120 @@ on:
branches: [ develop ]

jobs:
lint:
runs-on: ubuntu-22.04

strategy:
matrix:
php-versions: ['7.4', '8.1']

env: ${{ matrix }}

name: Lint PHP ${{ matrix.php-versions }}
resources:
name: Resources tests
runs-on: ubuntu-22.04
steps:
- name: Checkout
uses: actions/checkout@v3

- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php-versions }}

- name: Running php lint with ${{ matrix.php-versions }}
run: errors=$(find . -name \*.php ! -path "./.Build/*" -exec php -d display_errors=stderr -l "{}" 2>&1 >/dev/null \;) && echo "${errors}" && test -z "${errors}"

functional:
needs: lint
- name: Test documentation build
run: Build/Scripts/additionalTests.sh -s buildDocumentation

runs-on: ubuntu-22.04
- name: Cleanup
run: |
Build/Scripts/runTests.sh -s clean
Build/Scripts/additionalTests.sh -s clean
testsuite:
name: All php tests
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
env:
- { PHP: 7.4, TYPO3_VERSION: ^11.0, TESTING_FRAMEWORK: ^6.6.2, TEST_PATH: "Tests/Functional" }
- { PHP: 8.1, TYPO3_VERSION: ^12.0, TESTING_FRAMEWORK: "dev-main", TEST_PATH: "Tests/Functional12" }
- { PHP: 8.1, TYPO3_VERSION: ^12.0, TESTING_FRAMEWORK: "dev-main", TEST_PATH: "Tests/Functional12", PREFER_LOWEST: "--prefer-lowest" }
- { PHP: 8.1, TYPO3_VERSION: "dev-main", TESTING_FRAMEWORK: "dev-main", TEST_PATH: "Tests/Functional12" , experimental: true }
packages:
- php: '7.4'
core: '^11.5'
framework: '^6.16.9'
path: 'Tests/Functional'
prefer: ''
- php: '7.4'
core: '^11.5'
framework: '^6.16.9'
path: 'Tests/Functional'
prefer: '--prefer-lowest'
- php: '8.2'
core: '^11.5'
framework: '^6.16.9'
path: 'Tests/Functional'
prefer: ''
- php: '8.2'
core: '^11.5'
framework: '^6.16.9'
path: 'Tests/Functional'
prefer: '--prefer-lowest'

- php: '8.1'
core: '^12.4'
framework: '^8.0.6'
path: 'Tests/Functional12'
prefer: ''
- php: '8.1'
core: '^12.4'
framework: '^8.0.6'
path: 'Tests/Functional12'
prefer: '--prefer-lowest'
- php: '8.2'
core: '^12.4'
framework: '^8.0.6'
path: 'Tests/Functional12'
prefer: ''
- php: '8.2'
core: '^12.4'
framework: '^8.0.6'
path: 'Tests/Functional12'
prefer: '--prefer-lowest'

env: ${{ matrix.env }}
continue-on-error: ${{ matrix.env.experimental == true }}

name: Run unit and/or functional tests on TYPO3 ${{ matrix.env.TYPO3_VERSION }} with PHP ${{ matrix.env.PHP }} and testing framework ${{ matrix.env.TESTING_FRAMEWORK }}
steps:
- name: Checkout
uses: actions/checkout@v3

- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.env.PHP }}
tools: composer
extensions: pdo, sqlite3

- name: Validate composer.json and composer.lock
run: composer validate

- name: Cache dependencies
uses: actions/cache@v3
with:
path: ~/.composer/cache
key: dependencies-composer-${{ hashFiles('composer.json') }}
- name: PHP lint
run: |
Build/Scripts/additionalTests.sh \
-p ${{ matrix.packages.php }} \
-s lintPhp
- name: Ensure stability dev
if: ${{ matrix.env.TYPO3_VERSION == 'dev-main' }}
- name: Composer install core
run: |
composer config minimum-stability dev
composer config prefer-stable true
Build/Scripts/additionalTests.sh \
-p ${{ matrix.packages.php }} \
-s composerInstallPackage \
-q "typo3/cms-core:${{ matrix.packages.core }}" \
-r " ${{ matrix.packages.prefer }}"
- name: Install TYPO3 core ${{ matrix.env.TYPO3_VERSION }}
run: composer require typo3/cms-core="${TYPO3_VERSION}" ${PREFER_LOWEST};
- name: Composer install framework
run: |
Build/Scripts/additionalTests.sh \
-p ${{ matrix.packages.php }} \
-s composerInstallPackage \
-q "typo3/testing-framework:${{ matrix.packages.framework }}" \
-r " --dev ${{ matrix.packages.prefer }}"
- name: Install testing framework ${{ matrix.env.TESTING_FRAMEWORK }}
if: ${{ matrix.env.TESTING_FRAMEWORK }}
run: composer require --dev typo3/testing-framework="${TESTING_FRAMEWORK}";
- name: Composer validate
run: |
Build/Scripts/runTests.sh \
-p ${{ matrix.packages.php }} \
-s composerValidate
- name: Run functional tests
- name: Functional tests with sqlite
run: |
echo "Running ${TYPO3_VERSION} functional tests with $(which php)";
export TYPO3_PATH_WEB=$PWD/.Build/Web;
export typo3DatabaseDriver="pdo_sqlite";
php .Build/Web/vendor/bin/phpunit --colors -c .Build/Web/vendor/typo3/testing-framework/Resources/Core/Build/FunctionalTests.xml ${TEST_PATH};
Build/Scripts/runTests.sh \
-p ${{ matrix.packages.php }} \
-d sqlite \
-s functional ${{ matrix.packages.path }}
- name: Reset composer.json
run: git checkout composer.json;
- name: Cleanup
run: |
Build/Scripts/runTests.sh -s clean
Build/Scripts/additionalTests.sh -s clean
TERUpload:
needs: [ lint, functional ]
needs: [ resources, testsuite ]
if: startsWith(github.ref, 'refs/tags/')

runs-on: ubuntu-22.04

strategy:
fail-fast: false

name: TYPO3 TER release
steps:
- name: Checkout
Expand Down
16 changes: 10 additions & 6 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
.idea
.Build/**
!.Build/docker-compose.yml
!.Build/runTests.sh
!.Build/test.sh
composer.lock
.cache/
.idea/
Build/
bin/
Documentation-GENERATED-temp/
typo3temp/
var/
public/
vendor/
composer.lock

0 comments on commit 364ceb8

Please sign in to comment.