Skip to content

Commit

Permalink
[TASK] Streamline Build/Scripts/runTests.sh
Browse files Browse the repository at this point in the history
Following the scheme provided by @sbuerk

This change modifies the `Build/Scripts/runTests.sh`
execution wrapper to be in line with current TYPO3
core implementation.

This contains following tasks:

* Modify `Build/Scripts/runTests.sh`:
    * `-b <container-binary>` switch to determine which
      container binary should be used.
    * Remove the usage of `docker-compose.yml` file and
      usage by replacing container execution call with
      docker or podman binary calls.
    * Include `bash trap` logic for container/network
      cleanup on abort signals.
    * Keep core `xdebug` flag ability, albeit not used
      currently due to not having tests included.
* Refactor suit command execution without docker-compose.
* Remove `Build/testing-docker/docker-compose.yml` due
  to being obsolete now.
* Add composer related temporary files to `.gitignore`
  and `.gitattributes`.
* Add documentation rendering and test rendering to the
  `runTests.sh`.
* `-s composerUpdate` requires different temporary dependencies
  based on the selected TYPO3 core version (`-t`), without leaving
  root composer.json in a changed state.
* In addition to the replaced `docker-compose.yml` file, 11.4 core
  install is removed and 13.1 added.
* TYPO3 v13.1 testing is added as GitHub action workflow.
* `typo3/coding-standards` is required in dev-main to support
  symfony 7.x until a version is released.
* `--no-check-lock` added for `-s composerValidate` to avoid
  irritating error-message due to temporary dependency require.
  As `composer.lock` is not committed, it does not make much
  sense anyway.
* `--no-check-lock` and `--no-update-lock` added to `-s composerNormalize`
  to avoid irritating error-message due to temporary dependency
  require. As `composer.lock` is not committed, it does not make
  much sense anyway.
* `php-cs-fixer` rules are adjusted to avoid deprecated rule configuration,
  until updated upstream in `typo3/coding-standards`.

Additionall, license is modified in `composer.json` to mitigate
composer validation error:

    License "GPL-2.0+" is a deprecated SPDX license identifier,
    use "GPL-2.0-or-later" instead

Used command(s):

```terminal
composer require --dev --no-update \
  "typo3/testing-framework":"^8.0.9" \
  "typo3/coding-standards":"dev-main"

composer require --no-update \
    "typo3/cms-core":"^12.4 || ^13.0 || ^13.1 || dev-main"
```
  • Loading branch information
linawolf authored and sbuerk committed May 13, 2024
1 parent ba14da2 commit aff7de7
Show file tree
Hide file tree
Showing 27 changed files with 565 additions and 413 deletions.
4 changes: 4 additions & 0 deletions .github/workflows/cgl.yml
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,10 @@ jobs:
core: '13.0'
- php: '8.3'
core: '13.0'
- php: '8.2'
core: '13.1'
- php: '8.3'
core: '13.1'
- php: '8.2'
core: 'main'
- php: '8.3'
Expand Down
26 changes: 26 additions & 0 deletions .github/workflows/tests-13.1.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
name: tests 13.1

on:
push:
pull_request:
schedule:
- cron: '56 4 * * *'

jobs:
unit:
name: Unit Tests
runs-on: ubuntu-latest
strategy:
matrix:
php:
- '8.2'
- '8.3'
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Install testing system
run: Build/Scripts/runTests.sh -t 13.1 -p ${{ matrix.php }} -s composerUpdate

- name: Unit Tests
run: Build/Scripts/runTests.sh -t 13.1 -p ${{ matrix.php }} -s unit
Loading

0 comments on commit aff7de7

Please sign in to comment.