mirror of https://github.com/FriendsOfTYPO3/tea.git synced 2024-12-29 01:46:11 +01:00
Commit graph

170 commits

Author SHA1 Message Date
Oliver Klee
f89dcb0842
[TASK] Switch to using GitHub's own automerge feature (#758)
Our current automerging CI task does not work reliably.

So instead of using a GitHub Action that does the automerging itself,
we are now using a GitHub Action that only triggers GitHub's own
automerge feature (which works a lot more reliably).
2023-02-24 11:20:27 +01:00
Łukasz Uznański
f814042f8b
[FEATURE] Add check for PSR-4 namespace correctness (#740) 2023-02-22 18:46:08 +01:00
Oliver Klee
47033ca0bb
[FEATURE] Add automerging of green Dependabot PRs (#756)
Now dependency updates by Dependabot will be automerged if/when all
required checks are green.

This will reduce the repetetive work of merging all these update
PRs, and we have been heavily relying on our CI pipeline to check
if a depenceny update is safe to merge anyway.

Attaching any of the labels `wip` or `blocked` to a PR will block the
automerging.
2023-02-22 18:21:47 +01:00
Łukasz Uznański
7cd09a3b52
Upgrade to TYPO3 v12.2 (#746) 2023-02-08 17:26:08 +01:00
Oliver Klee
5f9fa25339
[TASK] Set the minimal 12LTS version to 12.1 (#702)
TYPO3 12.1 has been released. So the 12.0 sprint release is no longer
relevant.
2022-12-26 07:06:50 +01:00
Oliver Klee
0e5f96209a
[TASK] Switch the Dependabot target milestone to 3.0.1 (#673) 2022-11-14 10:17:31 +01:00
Oliver Klee
d0c819d3a6
[TASK] Avoid race condition on case-insensitive filesystems (#657)
Case-insensitive filesystems cannot distinguish properly for
file and folder names with different casings. This leads to
unforseeable issues on these systems, like default partition
on MacOS devices from apple or eventually Windows systems.

This change configure phpcoverall and the chain explicitly to
use folders for the files which differs from the default of
`build/*` to avoid conflicts on case-insensitve filesystems
and prepare for introduction of the upcoming implementation
of TYPO3 core recommended `Build/` structure.

Co-authored-by: Stefan Bürk <stefan.buerk@impactmedia.de>
2022-10-24 18:26:02 +02:00
Oliver Klee
1d9c79a439
[FEATURE] Run the functional tests on TYPO3 12 as well (#615)
Fixes #519
Closes #528

Co-authored-by: lina.wolf <lwolf@w-commerce.de>
2022-10-19 19:12:47 +02:00
Oliver Klee
43e4829255
[FEATURE] Run the unit tests on TYPO3 12 on CI (#653)
Co-authored-by: lina.wolf <lwolf@w-commerce.de>
2022-10-19 16:04:38 +02:00
Łukasz Uznański
6e8aef2daf
[TASK] Harden Github Actions workflows (#649)
Resolves: #614
2022-10-19 15:14:17 +02:00
Oliver Klee
3b4b544e2c
[TASK] Switch the coverage on CI from Xdebug to PCOV (#648)
This greatly improves performance.

Also make the Composer version in the Coverage CI job less specific.
2022-10-18 19:38:45 +02:00
Oliver Klee
31e1a1f84d
[TASK] Switch the code quality checks to PHP 8.1 (#638) 2022-10-15 21:40:46 +02:00
Oliver Klee
ee455e567b
[BUGFIX] Exclude doctrine/dbal from Dependabot updates (#627)
Dependabot cannot handle multi-version dependencies and would
happily throw away one of allowed versions (like in #626).
2022-10-10 16:06:22 +02:00
Oliver Klee
04ae055db2
[TASK] Have the lowest dependencies above the highest on CI (#623)
This way, the Composer dependencies are consistently in
ascending order in the CI matrix (as are the PHP and TYPO3 versions).

This is the same as #617 (which rearranged the CI matrix entries
for the Composer-script-based CI jobs), but for the CI jobs using
the predefined GitHub Actions (this time for the unit tests).

Part of #578
2022-10-09 20:08:15 +02:00
Oliver Klee
9a1bc90e92
[TASK] Have the lowest dependencies above the highest on CI (#619)
This way, the Composer dependencies are consistently in
ascending order in the CI matrix (as are the PHP and TYPO3 versions).

This is the same as #617 (which rearranged the CI matrix entries
for the Composer-script-based CI jobs), but for the CI jobs using
the predefined GitHub Actions.

Part of #578
2022-10-09 17:43:08 +02:00
Oliver Klee
f6af430180
[TASK] Upgrade to PHPUnit 9 (#610)
Also upgrade PHPCOV to match the used PHPUnit version

Fixes #586
Fixes #542
2022-10-09 06:19:32 +02:00
Oliver Klee
26f8898e92
[TASK] Have the lowest dependencies above the highest on CI (#617)
This way, the Composer dependencies are consistently in ascending
order in the CI matrix (as are the PHP and TYPO3 versions).

Fixes #578
2022-10-09 06:15:42 +02:00
Lina Wolf
672194fba8
[TASK] Drop TYPO3 10LTS support (#594)
Fixes #589

Co-authored-by: lina.wolf <lwolf@w-commerce.de>
2022-09-27 16:48:54 +02:00
Oliver Klee
91c0740aac
[TASK] Switch Dependabot PR target milestone to the 3.0 milestone (#584)
The PRs now should target 3.0.0, not 2.0.1 anymore, as 2.0.1 is out
of the door, and we're working on 3.0 now.

Fixes #583
2022-09-23 21:56:56 +02:00
Oliver Klee
e91f123a81
[TASK] Update ergebnis/composer-normalize (#585)
Also remove the update block from the Dependabot configuration
(now that we require PHP >= 7.4., which allows for current versions
of this package).
2022-09-23 16:00:17 +02:00
Oliver Klee
14c804b209
[TASK] Drop support for PHP 7.2 and 7.3 (#581)
Also sync the test matrices of the `predefined` CI jobs with those
from the Composer-script-driven CI jobs.

This change does not add any 7.4-only PHP language features.

Fixes #577
2022-09-22 11:49:45 +02:00
Oliver Klee
e135cc244a
[TASK] Upgrade the functional tests on CI to Ubuntu 22.04 (#573)
Fixes #173
2022-09-21 16:54:21 +02:00
Oliver Klee
1129d74c53
[FEATURE] Show the Composer configuration in the CI jobs (#572)
This helps debug problems, e.g., using an incorrect Composer
cache directory.
2022-09-21 09:48:16 +02:00
Oliver Klee
b5ea8e651c
[TASK] Stop using the typo3/minimal package on CI (#520)
The `typo3/minimal` package is not maintained very much, and currently
cannot be used as a requirement to install the latest TYPO3 development
version (as it still depends on `dev-master`, not on `dev-main`).

In addition, not depending on it will allow us to find any missing
dependencies in our requirements that so far have been masked by
the `typo3/minimal` dependencies.
2022-08-28 11:08:47 +02:00
Oliver Klee
75ae59b28a
[TASK] Update to Composer 2.4 (#513)
Now that Composer 2.4 has had its first point release, we can safely
upgrade from 2.3 to 2.4 in the DDEV configuration and the CI pipeline.
2022-08-27 18:53:54 +02:00
Oliver Klee
56b02d5fda
[FEATURE] Configure Dependabot to also update npm packages (#481) 2022-07-13 18:39:00 +02:00
Oliver Klee
98884d36fa
[BUGFIX] Block Dependabot from breaking upgrades (#469)
composer-noramlize >= 2.2.0 will conflicts with our supported PHP
version range, as does PHPUnit 9.x (and 10.x will too).

So we need to configure Dependabot to stay below these breaking
versions.

Fixes #467
2022-06-28 21:30:42 +02:00
Oliver Klee
7050a80c1e
[FEATURE] Configure Dependabot to update Composer dev dependencies (#461) 2022-06-27 12:07:37 +02:00
Oliver Klee
af0d77a7aa
[BUGFIX] Treat PHP versions in the GitHub CI configuration as strings (#459)
PHP version numbers need to be strings: If the version `8.0` were
treated as a number, the YAML parser would happily convert it to `8`,
hence dropping the minor version number.
2022-06-15 18:22:18 +02:00
Oliver Klee
53e9d65a0a
[TASK] Upgrade the GitHub runners to Ubuntu 22.04 (#456)
Fixes #455
2022-06-15 16:26:43 +02:00
Oliver Klee
b3e3c4e29d
[FEATURE] Add a Dependabot action for updating GitHub actions (#452)
With this configuration, GitHub's Dependabot will create PR
to update the versions of the GitHub Actions we are using in
our CI pipeline.
2022-05-23 14:45:35 +02:00
jpmschuler
518bae014e
[TASK] Move npm tools and config to default places (#445)
- Move npm tools and config to default places
- Remove now unnecessary config file parameter from npm scripts
- editorconfig and eslint config contradict, adapt editorconfig
- switch JS indent linting to TYPO3 coding standard of 2 spaces
- adapt composer scripts for new npm location
2022-05-18 17:17:45 +02:00
Oliver Klee
029d402954
[TASK] Switch the code coverage collection on CI from 10LTS to 11LTS (#437) 2022-04-29 14:27:22 +02:00
Oliver Klee
2e31910c61
[FEATURE] Use Coveralls for the code coverage (#425)
Fixes #345
Closes #400
2022-04-15 18:47:18 +02:00
Oliver Klee
0a634def2d
[TASK] Sync the GitHub Actions job definitions (#424)
Having a consistent structure and order between the CI jobs and the
code coverage generation job makes understanding the GitHub Actions
configuration easier.

It also allows having a shared Composer cache between the non-coverage
jobs and the coverage job.
2022-04-15 14:35:33 +02:00
Oliver Klee
65c59cee1c
[TASK] Run unit tests before functional tests for coverage (#431)
We generally should run the faster tests first so that any possible
breakage occurs as soon as possible, hence providing faster feedback.
2022-04-14 18:13:33 +02:00
Oliver Klee
a85d14b976
[TASK] Upgrade to Composer 2.3.0 (#416) 2022-04-13 16:15:13 +02:00
Oliver Klee
a98d32fdae
[TASK] Move the coverage directories (#427)
There is no need to have the code coverage data directly generated by
the tests run in a non-hidden directory. So now the code coverage is
recorded within `.Build/coverage`.

Only the merged coverage data still needs to be located in `build/logs`
as Coveralls (which we're planning to use) relies on this.
2022-04-13 16:14:25 +02:00
Oliver Klee
827337bdda
[CLEANUP] Always use name as first key for GitHub Action steps (#423) 2022-04-12 22:27:14 +02:00
Oliver Klee
7a813998b6 Revert "[TASK] Bump the code coverage generation to TYPO3 11LTS and PHP 8.1 (#417)"
This reverts commit fd2e9213ab.
2022-04-06 19:45:56 +02:00
Oliver Klee
fd2e9213ab
[TASK] Bump the code coverage generation to TYPO3 11LTS and PHP 8.1 (#417)
We should use the latest TYPO3 and PHP versions for code coverage
generation.
2022-04-06 19:39:58 +02:00
Oliver Klee
77b49997a4
[TASK] Upgrade the CI cache action (#412) 2022-04-03 02:26:04 +02:00
Oliver Klee
14c6f6a48d
[CLEANUP] Sort the code style checks in the CI build (#406) 2022-03-24 18:00:39 +01:00
Oliver Klee
b9cfab39cc
[TASK] Upgrade the git checkout on CI to actions/checkout@v3 (#402) 2022-03-22 17:57:39 +01:00
Oliver Klee
15b1e5a9f4
[FEATURE] Also run the tests with TYPO3 11LTS in GitHub Actions (#319) 2022-03-02 11:45:29 +01:00
Oliver Klee
6b98478f58
[TASK] Make the Composer caches on CI more fine-grained (#393)
The installed Composer packages will be different depending on the
major TYPO3 version being tested and on the strategy for the
dependencies (highest, lowest). So it makes sense to have
separate Composer caches for these versions in order to avoid
cache misses.
2022-02-24 16:41:34 +01:00
Oliver Klee
4158161c9d
[BUGFIX] Remove duplicate entry from the code quality CI job (#394)
`json:lint` was there twice.
Also sort the code quality jobs the same way the corresponding tasks
are sorted in the `composer.json`.
2022-02-24 13:13:30 +01:00
Oliver Klee
d39727d718
[BUGFIX] Fix the trigger syntax in the CI builds (#395)
The CI workflow with predefined GitHub actions had an empty `on:`
element, which is invalid. Use the correct event for manually
triggered workflow runs instead.
2022-02-24 13:12:38 +01:00
Oliver Klee
4854d9983a
[CLEANUP] Always have the CI job name as first element (#391)
This helps human readers see what a job is about more quickly,
following the principle of having the heading as the first element
of a text.
2022-02-24 09:11:49 +01:00
Oliver Klee
79ba5f20d2
[TASK] Use an explicit CI matrix for the functional tests as well (#392)
This will allow use to have exceptions from the cross product of
the parameters more easily (e.g., using PHP 8 only for TYPO3 11LTS
onward).
2022-02-24 09:11:14 +01:00
Łukasz Uznański
9e00038119
[FEATURE] Enable php8.1 (#381) 2022-02-23 14:38:20 +01:00
Łukasz Uznański
63bcf0da67
[TASK] Disable predefined github action scheduler run (#374)
Co-authored-by: Łukasz Uznański <l.uznanski@macopedia.com>
2022-02-04 09:24:14 +01:00
Oliver Klee
34eaf0cab1
[TASK] Drop support for TYPO3 9LTS (#363)
Now that we have added support for TYPO3 11LTS, we have been supporting
3 different TYPO3 LTS versions in the same branch. This has turned out
to be too much of a hassle when running the test. So now is the time
to drop support for 9LTS.
2022-01-12 11:22:59 +01:00
Oliver Klee
de5c407c1a
[BUGFIX] Fix CI builds for PRs from forks (#360)
It has turned out that having builds only for pushes (but not
pull requests) is not enough for triggering builds for PRs
from forks.

So we will need to live with pushes to non-PR branches other
than main not triggering a build, and having to create a
dummy draft PR for testing the CI build.

This reverts commit d1f02afe79.

Fixes #359
2022-01-03 01:54:00 +01:00
Oliver Klee
07ff094028
[TASK] Use Composer 2.2 in the CI pipeline (#362)
With the releases of Composer 2.2.2 and 2.2.3 (and PHPUnit 9.5.11),
running the tests with Composer 2 in the pipeline should be safe afain.
2022-01-02 02:23:40 +01:00
Oliver Klee
d1f02afe79
[TASK] Always run the CI build after a push (#354)
This will allow us to test things on the CI pipeline without
having to create a dummy/draft PR for this.

Hopefully, this will also allow builds for forks.
2021-12-24 02:42:15 +01:00
Oliver Klee
feaf6f2fc9
[BUGFIX] Pin Composer to version 2.1.x (#352)
Composer versions 2.2.0 and 2.2.1 have a bug that breaks PHPUnit.
Until version 2.2.2 is released with a fix, we need to keep to
Composer 2.1 to keep the tests from breaking.

See https://github.com/composer/composer/issues/10387 for details.
2021-12-24 02:15:42 +01:00
Oliver Klee
9c1a522ebb
[FEATURE] Also run the unit tests with V11 in the CI pipeline (#336) 2021-11-06 15:57:36 +01:00
Oliver Klee
19f3820d0d
[BUGFIX] Only publish to the TER if the tag is a valid version number (#329)
Tags named like `test-tag` should not trigger a TER releasen, but only
valid version numbers in the format major.minor.bugfix.

Fixes #327
2021-11-03 01:07:00 +01:00
Oliver Klee
696ec68eb0
[TASK] Only install Composer packages once in a CI build (#330)
If the CI build will do a composer update in the next step anyway,
there is no need to actually install any packages when requiring
the desired TYPO3 version.

Fixes #324
2021-11-03 01:05:16 +01:00
Łukasz Uznański
9bf78a580b
[FEATURE] Calculate code coverage (#266) 2021-10-06 16:23:35 +02:00
Łukasz Uznański
a2342d5421
[TASK] Allow installation on TYPO3 V11 (#293)
Co-authored-by: Łukasz Uznański <l.uznanski@macopedia.com>
2021-09-22 17:14:29 +02:00
Oliver Klee
01c0d4b4d5
[TASK] Use the Composer scripts for the CI builds by default (#283)
Also stop running the other CI workflow on every push/PR
(as the results of both workflows provide the same results).

Fixes #275
2021-08-24 02:34:05 +02:00
Łukasz Uznański
8e3e3630a5
[TASK] Add separate workflow for composer scripts (#258)
Co-authored-by: David Bruchmann <david.bruchmann@gmail.com>
Co-authored-by: Łukasz Uznański <l.uznanski@macopedia.com>
2021-07-21 13:06:59 +02:00
Łukasz Uznański
dd2378416e
[TASK] Migrate the PHPStan check to GitHub actions (#239) 2021-05-05 13:05:44 +02:00
Łukasz Uznański
d87519aed8
[TASK] Migrate JSON linting to GitHub Actions (#238) 2021-04-07 16:35:44 +02:00
Łukasz Uznański
a2da368d7b
[TASK] Migrate the XLIFF linting to GitHub Actions (#237) 2021-04-07 14:27:28 +02:00
Łukasz Uznański
4f51556cc9
[TASK] Migrate PHP CodeSniffer to GitHub Actions (#224) 2021-04-05 16:51:56 +02:00
Łukasz Uznański
37d919831d
[TASK] Migrate PHP CS Fixer check to GitHub Actions (#223) 2021-04-05 16:50:16 +02:00
Oliver Klee
9c36f05e3e
[CLEANUP] Rename the CS fixer composer script (#227)
Also sort the style checks in the GitHub Actions run.

Also improve some headings in the README.
2021-03-30 00:55:20 +02:00
Łukasz Uznański
0b3527c125
[TASK] Migrate copy'n'paste detector to GitHub actions (#222)
Co-authored-by: Łukasz Uznański <l.uznanski@macopedia.com>
2021-03-27 18:17:40 +01:00
Łukasz Uznański
c530a1f20d
[TASK] Migrate to YAML linter GitHub actions (#221) 2021-03-27 18:09:55 +01:00
Łukasz Uznański
1e2c383fa0
[TASK] Migrate TypoScript linting to a GitHub action (#220) 2021-03-22 12:34:55 +01:00
Oliver Klee
db1080b119
[FEATURE] Add type checking via PHPStan (#218) 2021-03-17 01:08:40 +01:00
Oliver Klee
e51dad6aea
[BUGFIX] Downgrade the XLIFF files to version 1.0 (#206)
This now matches what the TYPO3 Core uses.

We still use the XLIFF 1.2 schema for validation as version 1.2
is the first fully ratified version.

Closes #198
2021-02-24 19:04:30 +01:00
Oliver Klee
73a27f7306
[TASK] Always run all CI jobs (#205)
Even if a job fails with e.g., a certain PHP version, we still want to
know if it succeeds with which other PHP versions.
2021-02-24 12:24:52 +01:00
Łukasz Uznański
2aae18c2b1
[FEATURE] Add TER release via github actions (#189)
Co-authored-by: Łukasz Uznański <l.uznanski@macopedia.com>
2021-02-22 16:59:15 +01:00
Łukasz Uznański
3a086c5552
Add composer normalize phive (#193) 2021-02-18 10:44:35 +01:00
Oliver Klee
12ec05cfa1
[BUGFIX] Also run the CI for PRs against maintenance branches (#187) 2021-01-15 17:13:51 +01:00
Oliver Klee
5ec57829e4
[BUGFIX] Fix the Composer cache directory in the CI configuration (#186)
Fixes #184
2021-01-09 23:46:04 +01:00
Oliver Klee
e319c78fd1
[BUGFIX] Disable Xdebug in the CI build (#185)
This avoid problems with Xdebug 3 (the version that now automatically
gets installed).

It also should speed up the build a bit.
2021-01-06 13:06:39 +01:00
Oliver Klee
2344557abc
[CLEANUP] Autoformat all files (#175)
This will reduce unrelated autoformatting changes in other commits
(and it also makes the code more readable).
2020-12-01 23:12:34 +01:00
Oliver Klee
1d81f981f9
[BUGFIX] Fix cache keys for the Composer cache in GitHub Actions (#174)
The key must not be split across multiple lines.
2020-11-29 15:04:50 +01:00
Oliver Klee
f9aac63ae7
[BUGFIX] Explicitly set the Ubuntu version for GitHub Actions (#162)
This fixes a warning when running the CI build.

As the functional tests currently do not run with the Ubuntu 20.04
runner, we need to keep using 18.04.

Also explicitly require the `mysqli` PHP extension.
2020-11-27 01:41:24 +01:00
Oliver Klee
a9026832d6
[CLEANUP] Explicitly set the Ubuntu version for most CI steps (#172) 2020-11-24 20:36:29 +01:00
Oliver Klee
b4936ebb6a
[BUGFIX] Fix the CI build with the lowest dependencies (#170)
- fix a syntax error in the `ci.yml`
- also update/downgrade transitive dependencies
- add a conflict with broken versions of typo3/class-alias-loader
- use a Composer-2-compatible version of `helhum/typo3-composer-setup`
- start running the unit and functional tests with the lowest
  dependencies on GitHub Actions

Fixes #50
2020-11-24 02:14:15 +01:00
Oliver Klee
bc21852ba0
[CLEANUP] Consistently quote all CI step names for GitHub actions (#168) 2020-11-24 02:08:42 +01:00
Oliver Klee
898819d468
[TASK] Explicitly use Composer 2 on GitHub actions (#169) 2020-11-24 02:07:55 +01:00
Oliver Klee
a8e78e39b3
[TASK] Stop displaying a progress bar during composer require (#167)
Progress bars do not make sense when the output is logged
(like on GitHub actions).
2020-11-24 02:02:32 +01:00
Łukasz Uznański
ddecb3009f
[FEATURE] Add phpcpd (#149)
Resolves: #129
2020-11-21 18:21:09 +01:00
Oliver Klee
091e00e478
[FEATURE] Also run the CI build once a week (#160)
This will allow us to catch problems with dependencies or
the build environment, i.e., problems that are not related
to changes in our code base.
2020-11-21 17:58:35 +01:00
Oliver Klee
6d50a29034
[TASK] Smoothen the way to Composer 2 (#152)
- drop the `--no-suggest` option that was deprecated in Composer 2
- output the Composer version to make debugging problems easier
2020-10-31 19:18:59 +01:00
Łukasz Uznański
d4ec80de29
[FEATURE] Add frontend linting (#120)
Co-authored-by: Łukasz Uznański <l.uznanski@macopedia.com>
Co-authored-by: Oliver Klee <typo3-coding@oliverklee.de>
2020-10-31 15:04:44 +01:00
Oliver Klee
ab7e5c45f5
[BUGFIX] Drop a surplus hyphen in the CI step definitions (#153) 2020-10-31 12:38:41 +01:00
Oliver Klee
3cc4abb092
[TASK] Switch the default branch from master to main (#117)
Also update URLs to other repositories that also have done
the switch.
2020-10-10 14:02:59 +02:00
Łukasz Uznański
0338647e34
[TASK] Remove security checker (#111)
Resolves: #110
2020-10-07 14:10:44 +02:00
Łukasz Uznański
c495b03267
[TASK] Download xliff schema during CI instead of keeping it in repository (#95)
Co-authored-by: Łukasz Uznański <l.uznanski@macopedia.com>
2020-09-04 20:39:06 +02:00
Łukasz Uznański
78c45b1341
[TASK] Reduce GitHub actions builds (#86)
Co-authored-by: Łukasz Uznański <l.uznanski@macopedia.com>
2020-08-25 17:06:41 +02:00
Łukasz Uznański
ee7e76e18f
[TASK] Add PHP YAML lint instead of GitHub action (#84)
Co-authored-by: Łukasz Uznański <l.uznanski@macopedia.com>
2020-08-05 13:49:10 +02:00
Łukasz Uznański
dc3f774966
[FEATURE] Add security check (#78)
Co-authored-by: Łukasz Uznański <l.uznanski@macopedia.com>
2020-08-05 11:49:53 +02:00