This part of #851.
In later parts, we'll add a Rector wrapper to `runTests.sh` and a CI job, and apply possible changes suggested by Rector.
Part of #851Closes#125
The new php based rendering container has been added
recently to render the documentation. The image come
with a internal uid/gid switch to mitigate permission
issues with docker due to a missimplementation, which
podman not suffers by proper using the kernal namespacing.
This change ensures to create a folder before hand with
the correct permissions to mitigate this for docker. On
top of that, the external user set is added for the direct
invokiation and also the interactive switch to avoid failure
in CI context usages.
To avoid permission issues with previously created folder,
a `chown` command is added to ensure correct permission on
that folder.
Resolves: #1283
Extended core-testing image has been used to
support extended `find` options not provided
by the busybox implementation.
After streamlining used `find` command usages
towards a stripped down version with #1209 it
is now possible to use the TYPO3 core-testing
images directly.
This change modifes `Build/Scripts/runTests.sh`
to use `typo3/core-testing-*` images now.
Resolves: #1275
Related: #1209
`find` has different options in different operating
system implementations (gnu, macosx, busybox, ...).
This change modies the used find command and replace
`-regextype` and `-regex` for multiple file extension
for `ci:yaml:lint` composer script.
Note: That unblocks the ability to revert to the
TYPO3 core-testing-* images and avoid 3rd party
extended images installing `gnu find`.
Resolves: #1209
Allow others to easily provide feedback on technical decisions.
The issue template should make people more invited to share their own
feedback.
Resolves: #1235
* Migrate existing configuration from yaml to php.
* Document why we did the switch and that using yaml or both is totally
valid and conforms to best practices.
* Document why we are not using attributes but only `Services.php`
right now.
Resolves: #1172
Relates: #1237
This change now uses a bash trap to ensure proper container
cleanup after some signals happend. The internal `waitFor()`
is modified to emit a signal to cleanup containers if the
waiting process does not process correctly and stop the
script execution.
Additionally, `--pull-never` as CI_PARAMS is no longer derived
from the `$CI` variable and must now be handed over from the
calling process.
Further, the max retry value in `waitFor()` is increased to 20
to mitigate the slowed down startup of MySQL 8.0 container.
Resolves: #1280
In the PHP world there are only one driver for SQLite and
Postgres available. `runTests.sh` disallows to specify a
driver for SQLite or Postgres and therefore setting the
variable would make that check more complex.
This change modifies the driver information for SQLite and
Postgres to use hardcoded driver output to keep the cross
check for specifing a driver for these database vendors.
Resolves: #1278
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
First iteration of the `Build/Scripts/runTests.sh` supporting
`docker` and `podman` introduced a switch for direct usage in
local environments while keeping `docker` as strong default.
This change removes the hardcoded default for local and ci runs
and introduces a detection of available binaries, prefering the
`podman` over `docker` if both are installed on the host and no
specific binary selected using `-b <container-bin>`.
If no specific binary is provided, the detection chain is now:
* podman
* docker
Default binary variables are removed due to beeing obsolete now.
Resolves: #1148
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
The `Build/Scripts/runTests.sh` has been streamlined recently
towards the `docker-compose less` approach of the TYPO3 core.
That means, that the `runTest.sh` has been heavily modified,
and multiple changes in the core variant has been implemented.
One of these changes included streamlining the Database Version
handling for the different vendors and combining multiple options
into the `-i` option and using a generic version variable instead
of vendor specific ones. Sadly, it has been missed to align the
version output on the end to the generic variable name.
This change modifies the dbms version output at the end of the
functional test execution to use the correct generic version
variable and thus fixing the missing version information in the
output. The switch has been simplified in the same step.
Resolves: #1272
Do not provide the PID where the PID is not relevant to the test.
This allows the reader to see more easily what is relevant for the
test.
Also reduce unnecessary quoting of integers in the DB fixtures.