Skip to content

Commit 48aab9c

Browse files
committed
Refactor for TYPO3 12.4
1 parent ce58b65 commit 48aab9c

35 files changed

Lines changed: 3954 additions & 569 deletions

.gitattributes

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
/.github/ export-ignore
2+
/Build/ export-ignore
3+
/Tests/ export-ignore
4+
/.gitattributes export-ignore
5+
/.gitignore export-ignore

.github/workflows/ci.yml

Lines changed: 49 additions & 76 deletions
Original file line numberDiff line numberDiff line change
@@ -2,113 +2,86 @@ name: build
22

33
on:
44
push:
5-
branches: [ develop, master ]
5+
branches: [ develop, main ]
66
tags: [ '*' ]
77
pull_request:
88
branches: [ develop ]
99

1010
jobs:
11-
xliff:
12-
runs-on: ubuntu-20.04
1311

14-
name: XML Lint (Xliff)
12+
resources:
13+
name: Resources tests
14+
runs-on: ubuntu-22.04
1515
steps:
1616
- name: Checkout
17-
uses: actions/checkout@v2
17+
uses: actions/checkout@v3
1818

19-
- name: Install libxml2-utils
20-
run: sudo apt install libxml2-utils
19+
- name: Run the xliff lint
20+
run: Build/Scripts/additionalTests.sh -s lintXliff
2121

22-
- name: Running xmllint (Xliff)
23-
run: find Resources/Private/Language/ -name '*.xlf' -type f | xargs xmllint --noout --schema .Build/xliff-core-1.2-strict.xsd
22+
- name: Test documentation build
23+
run: Build/Scripts/additionalTests.sh -s buildDocumentation
2424

25-
lint:
26-
runs-on: ubuntu-20.04
27-
28-
strategy:
29-
matrix:
30-
env:
31-
- { PHP: 7.4 }
32-
33-
name: Lint PHP ${{ matrix.env.PHP }}
34-
steps:
35-
- name: Checkout
36-
uses: actions/checkout@v2
37-
38-
- name: Setup PHP
39-
uses: shivammathur/setup-php@v2
40-
with:
41-
php-version: ${{ matrix.env.PHP }}
42-
43-
- name: Running php lint with ${{ matrix.env.PHP }}
44-
run: errors=$(find . -name \*.php ! -path "./.Build/*" -exec php -d display_errors=stderr -l "{}" 2>&1 >/dev/null \;) && echo "${errors}" && test -z "${errors}"
45-
46-
phpunit:
47-
needs: lint
48-
49-
runs-on: ubuntu-20.04
25+
- name: Cleanup
26+
run: |
27+
Build/Scripts/runTests.sh -s clean ; \
28+
Build/Scripts/additionalTests.sh -s clean ; \
29+
git checkout composer.json
5030
51-
continue-on-error: ${{ matrix.env.experimental == true }}
31+
testsuite:
32+
name: All php tests
33+
runs-on: ubuntu-latest
5234
strategy:
53-
fail-fast: false
5435
matrix:
55-
env:
56-
- { php: 7.4, TYPO3_VERSION: "^11.0", TESTING_FRAMEWORK: "^6.6.2" }
57-
- { php: 7.4, TYPO3_VERSION: "^11.0", TESTING_FRAMEWORK: "^6.6.2", PREFER_LOWEST: "--prefer-lowest" }
58-
- { php: 7.4, TYPO3_VERSION: "dev-main", TESTING_FRAMEWORK: "dev-main", experimental: true }
59-
60-
env: ${{ matrix.env }}
61-
62-
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 }}
36+
php: [ '8.2' ]
37+
packages:
38+
- core: '^12.0'
39+
framework: 'dev-main'
40+
prefer: ''
41+
- core: '^12.0'
42+
framework: 'dev-main'
43+
prefer: '--prefer-lowest'
6344
steps:
6445
- name: Checkout
65-
uses: actions/checkout@v2
46+
uses: actions/checkout@v3
6647

67-
- name: Setup PHP
68-
uses: shivammathur/setup-php@v2
69-
with:
70-
php-version: ${{ matrix.env.PHP }}
71-
tools: composer
72-
extensions: pdo, sqlite3
73-
74-
- name: Validate composer.json and composer.lock
75-
run: composer validate
48+
- name: Composer
49+
run: Build/Scripts/additionalTests.sh -p ${{ matrix.php }} -s lintPhp
7650

77-
- name: Cache dependencies
78-
uses: actions/cache@v1
79-
with:
80-
path: ~/.composer/cache
81-
key: dependencies-composer-${{ hashFiles('composer.json') }}
51+
- name: Composer install
52+
run: Build/Scripts/runTests.sh -p ${{ matrix.php }} -s composerInstall
8253

83-
- name: Ensure stability dev
84-
if: ${{ matrix.env.TYPO3_VERSION == 'dev-main' }}
54+
- name: Composer install core
8555
run: |
86-
composer config minimum-stability dev
87-
composer config prefer-stable true
56+
Build/Scripts/additionalTests.sh -p ${{ matrix.php }} \
57+
-s composerInstallPackage \
58+
-q "typo3/cms-core:${{ matrix.packages.core }}"
8859
89-
- name: Install TYPO3 core
90-
run: composer require typo3/cms-core="${TYPO3_VERSION}" ${PREFER_LOWEST};
60+
- name: Composer install framework
61+
run: |
62+
Build/Scripts/additionalTests.sh -p ${{ matrix.php }} \
63+
-s composerInstallPackage \
64+
-q "typo3/testing-framework:${{ matrix.packages.framework }}" \
65+
-o " --dev ${{ matrix.packages.prefer }}"
9166
92-
- name: Install testing framework ${{ matrix.env.TESTING_FRAMEWORK }}
93-
if: ${{ matrix.env.TESTING_FRAMEWORK }}
94-
run: composer require --dev typo3/testing-framework="${TESTING_FRAMEWORK}";
67+
- name: Composer validate
68+
run: Build/Scripts/runTests.sh -s composerValidate
9569

96-
- name: Reset composer.json
97-
run: git checkout composer.json;
70+
- name: Cleanup
71+
run: |
72+
Build/Scripts/runTests.sh -s clean
73+
Build/Scripts/additionalTests.sh -s clean
9874
9975
TERUpload:
100-
needs: [ xliff, lint, phpunit ]
76+
needs: [ resources, testsuite ]
10177
if: startsWith(github.ref, 'refs/tags/')
10278

103-
runs-on: ubuntu-latest
104-
105-
strategy:
106-
fail-fast: false
79+
runs-on: ubuntu-22.04
10780

10881
name: TYPO3 TER release
10982
steps:
11083
- name: Checkout
111-
uses: actions/checkout@v2
84+
uses: actions/checkout@v3
11285

11386
- name: Publish to TER
11487
uses: tomasnorre/typo3-upload-ter@v2

.gitignore

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
.cache/
2+
.idea/
3+
Build/
4+
bin/
5+
Documentation-GENERATED-temp/
6+
typo3temp/
7+
var/
8+
public/
9+
vendor/
10+
composer.lock

0 commit comments

Comments
 (0)