mirror of https://github.com/FriendsOfTYPO3/tea.git synced 2024-11-23 00:56:13 +01:00
Commit graph

153 commits

Author SHA1 Message Date
Oliver Klee
a3d72de1de
[FEATURE] Add Composer scripts and a CI job for Rector (#1459)
* [FEATURE] Add Composer scripts and a CI job for Rector

Closes #851
2024-09-30 07:21:41 +02:00
Oliver Klee
adb2b6693e
[TASK] Add a time limit to the documentation check on CI (#1472)
This will avoid that a hung job will consume up to 30 minutes
of CPU time.
2024-09-27 09:12:36 +02:00
Oliver Klee
a0fa00564c
[TASK] Unify the coverage-related directories (#1450)
As we'll need to have `build/logs/` for the merged coverage data
anyway, there is no point to have the separate coverage files
in `.Build/coverage/` instead of in `build/coverage/`.

Now the setup is more consistent.

Please note that this only affects the CI builds as we usually
only collect coverage data there for the pull requests.
2024-09-06 07:23:29 +02:00
Oliver Klee
849087af95
[TASK] Switch to the Coveralls GitHub action (#1430)
Unfortunately, with the GitHub Action, we need to go back to
using the path `build/logs/clover.xml` for the combined coverage file.

Closes #1431
2024-09-02 19:05:19 +02:00
Oliver Klee
9005c3cb9a
[TASK] Streamline the coverage folders (#1432) 2024-08-23 19:26:32 +02:00
Oliver Klee
920b2ca957
[TASK] Switch code coverage from PCOV to Xdebug (#1429)
PCOV is no longer maintainted, and nowadays Xdebug is fast enough.
2024-08-23 14:29:27 +02:00
Felix Althaus
adc864f257
[FEATURE] Update node to version 22 (#1420)
Fixes: #1403
2024-08-01 13:31:59 +00:00
Felix Althaus
99a2b7f176
[FEATURE] Add shellcheck to Github pipeline (#1400)
Fixes #1398
2024-07-31 18:04:23 +02:00
Eike Starkmann
6c8f0176c2
[FEATURE] Add PHP mess detector (#1391)
Resolves: #128
2024-07-31 12:54:03 +02:00
Oliver Klee
a6710987bf
[TASK] Rename the CSS lint npm command (#1406)
The name of the command should reflect the type of file that gets
linted.

This is a pre-patch to #1396.
2024-07-30 20:46:53 +02:00
Eike Starkmann
880f995047
[FEATURE] Use parallel-lint for command ci:php:lint (#1378)
Fixes: #1139
2024-07-30 20:17:05 +02:00
Felix Althaus
cd6df41eb7
[TASK] Rename npm commands to fit general naming scheme (#1404) 2024-07-30 19:44:41 +02:00
5a25569a19
[TASK] Use typoscript instead of ts within script names (#1392)
As ts is usually understood as TypeScript instead of TypoScript.
TYPO3 itself also changed its file extension from `.ts` to `.typoscript`.
We reflect that by adopting the script name.

Resolves: #1385
2024-07-29 19:49:37 +02:00
Felix Althaus
93d8c3c781
[FEATURE] Include composer-unused to find unused packages (#1382)
typo3/cms-fluid and typo3/cms-frontend are ignored because
of their indirect usage.

Fixes: #348
2024-07-29 19:20:24 +02:00
Oliver Klee
f4d460ce63
[TASK] Upgrade the GitHub Actions CI runners to Ubuntu 24.04 (#1317) 2024-05-20 22:47:38 +02:00
Oliver Klee
0f9e2c7c27
[BUGFIX] Specify the Node.js version for GitHub Actions (#1318)
Also make the required Node.js and NPM versions in `package.json`
more specific.
2024-05-20 22:16:03 +02:00
Stefan Bürk
dc04824b4c
[TASK] Streamline nodejs dependency management (#1302)
With #1289 the `nodejs` dependency management has
been changed from `yarn` to `npm` missing the one
or other important requirement.

This change streamlines the management by ...

* adding a `.nvmrc` file to the repository root to
  allow automatic nodejs/npm switch if the nvm shell
  switching is available on the host system.
* adding a `.npmrc` file to specify the lock file
  version and engine option.
* adding `nodejs` and `npm` version constraints as
  `engine` specification to the `package.json` file.
* remove `package-lock.json` from `.gitignore` and
  add it to the repository to ensure reproducable
  setups - which becomes more important if extension
  get custom backend/frontend modules and javascript.
* adding `package-lock.json` to exclude it from archive,
  due to remove from the `.gitignore` file.
* ensuring that new development files are excluded from
  packaging and publishing.
* use `npm ci` in GitHub action workflows to install
  from the lock-file.

Note: This change unblocks adding `npm` dispatching
to `Build/Scripts/runTests.sh`.

Resolves: #1301
Related: #1289
2024-05-14 12:13:43 +02:00
Łukasz Uznański
fbb7e0c930
[TASK] Switch from yarn to npm (#1289)
Resolves: #1274
2024-05-07 15:40:32 +02:00
Chris Müller
9b4c0a8f50
[TASK] Switch the documentation to PHP-based rendering (#1190)
Command for rendering:

    ./Build/Scripts/runTests.sh -s docsGenerate

or just:

    composer docs:generate

The reference to the TYPO3 Documentation Rendering Guide was adjusted as the Quickstart page does not exist anymore.

Additionally, the genindex isn't supported anymore. It is planned to consider the `index` directive in the global search on docs.typo3.org.

Resolves: #1189
2024-05-07 12:18:26 +02:00
Oliver Klee
188303fed1
[TASK] Stop storing development tool PHARs in the repository (#1277)
Tools that are downloadable should in general be downloaded during
the CI runs, not stored in the repository.

As the only PHIVE PHAR we're using is PCOV (for code coverage, which
we usually only run on CI), we can skip providing PHIVE and rely on
CI to provide PHIVE for us. This leaves only PCOV to be installed
via PHIVE.

Fixes #267
2024-05-07 12:00:35 +02:00
Oliver Klee
0fcd109e45
[TASK] Add more debug information to the coverage CI job (#1262)
This helps track down problems with the code coverage files.
2024-05-06 06:28:54 +02:00
Oliver Klee
444b39af08
[TASK] Use the development PHP INI on CI (#1207)
This allows us to see (and fail on) more PHP warnings and notices.

Fixes #1197
2024-04-04 08:54:49 +02:00
Oliver Klee
33a014d549
[TASK] Stop using the predefined GitHub Actions (#1211)
We won't maintain the predefined GitHub Actions anymore and hence
should not use them in the example extension.

Fixes #1210
2024-04-03 16:37:41 +02:00
dependabot[bot]
9bcb6439f1
[TASK] Bump dependabot/fetch-metadata from 1 to 2 (#1198)
Bumps [dependabot/fetch-metadata](https://github.com/dependabot/fetch-metadata) from 1 to 2.
- [Release notes](https://github.com/dependabot/fetch-metadata/releases)
- [Commits](https://github.com/dependabot/fetch-metadata/compare/v1...v2)

---
updated-dependencies:
- dependency-name: dependabot/fetch-metadata
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-22 05:18:54 +00:00
ae233d8de0
[TASK] Prevent composer.lock file (#1161)
This is a TYPO3 extension, a library.
We do not track the `composer.lock` file for that reason.
Composer itself offers an option to prevent generation of the file.
This is now configured to prevent the creation of the file.

That should prevent issues with local version of the file.
One might change the `composer.json` version constraints but updates
might fail due to locked version constraints.
This no longer happens if no locked version, due to missing lock file,
exist.

Composer would render warnings when using `composer install` without a
lock file. That's why we update the CI commands to use `composer update`
instead. That warning was already rendered within CI due to missing
file.
2024-02-07 09:54:59 +01:00
dependabot[bot]
12c66eadd7
Bump actions/cache from 3 to 4 (#1124)
Bumps [actions/cache](https://github.com/actions/cache) from 3 to 4.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](https://github.com/actions/cache/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-18 05:51:08 +00:00
Oliver Klee
f27ccd9ae5
[TASK] Bump the code quality CI jobs to PHP 8.3 (#1098) 2024-01-02 23:23:49 +01:00
Oliver Klee
c853b05edf
[TASK] Bump the code coverage CI build to TYPO3 12LTS and PHP 8.3 (#1097) 2023-12-27 13:45:30 +01:00
Łukasz Uznański
5f51604f14
[TASK] Add xliff linting locally (#1071)
Resolves: #346
2023-12-15 16:17:39 +01:00
Oliver Klee
2a763a2398
[TASK] Always use the latest Composer V2 (#994)
This saves us changes to the configuration files each time a new
Composer major version is released.
2023-11-18 04:38:07 +01:00
Łukasz Uznański
1cd6ec4a76
[TASK] Upgrade composer to 2.6 in github actions (#990)
Resolves: #987

Co-authored-by: Łukasz Uznański <l.uznanski@macopedia.com>
2023-11-17 12:06:12 +01:00
Oliver Klee
723c5da950
[FEATURE] Add support for PHP 8.3 (#965) 2023-11-01 20:20:27 +00:00
dependabot[bot]
fdab99fd4a
Bump actions/checkout from 3 to 4 (#927)
Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-04 14:05:19 +00:00
Oliver Klee
a281a7355f
[TASK] Bump the TYPO3 12 dependency from ^12.3 to ^12.4 (#822)
TYPO3 12.4 AKA 12LTS has been released.
2023-04-25 10:01:54 +02:00
Oliver Klee
a1e13c56fd
[FEATURE] Automatically approve Dependabot pull requests (#818)
This way, we can enforce having an approval before a PR is
allowed to get merged.
2023-04-25 05:27:34 +00:00
Oliver Klee
2186478f06
[TASK] Streamline the auto-merge GitHub Actions workflow (#817) 2023-04-25 05:23:20 +00:00
Sybille Peters
eb909406fe
[TASK] Unify web-dir, bin-dir (#807)
The following are changed:

- web-dir: ".Build/public" => ".Build/Web"
- bin-dir: not specified, defaulted to .Build/vendor/bin
  => ".Build/bin"

The vendor-dir was alreaday ".Build/vendor" and is left
unchanged.

Since the above paths may be used in scripts, composer.json,
build pipelines, configuration etc. it facilitates
contribution across various extensions (and the core) if
the same defaults are used.

The goal of patches related to #802 is to unify the paths
across TYPO3 extensions, specifically focusing on the
"official" extensions (such as tea, Documentation examples
extension etc.).

- .Build has already been well established (and is used by
"tea" as well.
- web-dir (".Build/Web") is currently not used consistently
  (across official extensions). Either ".Build/public", ".Build/Web"
  or ".Build/web" or "public" is used. We use ".Build/Web"
  now as that is already well established in "styleguide"
  and other extensions. (This choice is not better than
  the other, but is more commonly used and has led to a
  consensus in preliminary decision making process.)
- bin-dir: Here ".Build/bin" is mostly used (if defined at all)
- vendor-dir: Here ".Build/vendor" is mostly used (if defined
  at all)

Related: #802
2023-04-11 10:24:24 +02:00
0e85116d75
[TASK] Remove phpcpd (PHP Copy/Paste Detector) (#800)
The project got archived and is not maintained anymore.

Resolves: #796
2023-04-06 16:26:51 +02:00
Oliver Klee
f1b4faa9eb
[TASK] Use the GitHub command line tool for automerges (#793)
This way, we do not need to rely on a 3rd-party GitHub action for this
anymore.
2023-04-05 16:15:01 +02:00
Chris Müller
959d2ab2f9
[FEATURE] Support PHP 8.2 (#787) 2023-04-02 12:53:33 +02:00
Oliver Klee
10ba55414e
[TASK] Bump the TYPO3 12 version from 12.2 to 12.3 (#782)
Co-authored-by: Chris Müller <2566282+brotkrueml@users.noreply.github.com>
2023-04-01 16:09:44 +00:00
dependabot[bot]
4cec3c0380
Bump peter-evans/enable-pull-request-automerge from 2 to 3 (#777)
Bumps [peter-evans/enable-pull-request-automerge](https://github.com/peter-evans/enable-pull-request-automerge) from 2 to 3.
- [Release notes](https://github.com/peter-evans/enable-pull-request-automerge/releases)
- [Commits](https://github.com/peter-evans/enable-pull-request-automerge/compare/v2...v3)

---
updated-dependencies:
- dependency-name: peter-evans/enable-pull-request-automerge
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-24 06:02:02 +00:00
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
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