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

138 commits

Author SHA1 Message Date
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
Ł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
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
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
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
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
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