Skip to content
Snippets Groups Projects
  1. Nov 02, 2023
  2. Jul 05, 2023
  3. Mar 14, 2023
  4. Oct 14, 2022
  5. Oct 01, 2022
  6. Sep 06, 2022
  7. Aug 23, 2022
    • Benjamin Franzke's avatar
      [TASK] Migrate from yarn to npm · 6575656a
      Benjamin Franzke authored
      Yarn has been added to TYPO3 back in 2017 because
      npm shrinkwrap files were not stable and package-lock.json
      and `npm ci` not yet established.
      
      By now the yarn version in TYPO3 (v1) got outdated
      and an update to yarn v3 would be required sooner
      or later. The update to yarn v3 brings quite some
      problems for the TYPO3 codebase:
      
       - Yarn v3 is executed/proxied through yarn v1
         (installed on the developer machine) – therefore the
         yarn v3 executable needs to be tracked within git.
         See https://yarnpkg.com/cli/set/version#details
      
       - Yarn v3 pulls in @types/node (through the "got" package) for
         unknown reasons, causing clashes with TypeScript declarations
         for requirejs (window.require vs node's require())
      
      As package-lock.json is solid thesedays, there is no real
      need to depend on yarn anymore. We basically switch
      to npm because that switch is way more straightforward than
      migrating to yarn v3 and it removes one dependency.
      
      Note that `npm install` properly honors `package-lock.json`
      these days (no implicit version upgrades due to the lock file),
      but is faster than `npm ci`, therefore it is used in `grunt build`
      and runTests.sh for all developer oriented build-targets.
      All CI checks use `npm ci` to enfore a clean install.
      
      We set the required npm verson to v8 in order to use the
      newest package-lock.json v3 format and .nvmrc is updated to
      suggest the recent nodejs v16 LTS release, as npm v8 is
      shipped with nodejs v16 by default.
      
      Note that node v14 may still be used to compile packages, but
      npm v8 is needed for dependency installation (installable
      via `npm install -g npm` in node v14 installations). For that
      reason the CI docker images are updated to use nodejs v16
      instead of nodejs v14, see following ticket for details:
      https://git.typo3.org/typo3/CI/testing-infrastructure/-/issues/3
      
      Executed Commands:
      
        cd Build/
        # be sure the node_modules folder dir and is updated
        yarn install
        sed -i 's/"yarn": "^1.22.0"/"npm": ">=8.0.0 <9.0.0"/' package.json
        rm -f package-lock.json
        # npm install >= v7 can read yarn.lock and will create
        # package-lock.json as a result
        npm install
        git add package-lock.json
        git rm -f yarn.lock
        npm remove "jquery-ui"
        # The use of `git@` in the HTTPS URLs is a workaround for NPM's
        # auto-rewrite that results in an SSH URL being used instead,
        # which fails to install in CI.
        # See npm/cli#2610 for more information.
        npm install "git+https://git@github.com/jquery/jquery-ui#1.11.4"
        # Fix fsevents not being installed
        npm install rollup@~2.32.0
        # Explicitly pull in popperjs which would be included by npm's
        # resolver in npm >8.5
        npm install @popperjs/core@^2.11.6
        # Let npm build a new, fully clean tree, without old yarn cruft
        rm -rf node_modules/
        npm install
        grunt default
      
      Resolves: #96355
      Related: #83038
      Releases: main
      Change-Id: I88c1ecb1b12dcd117ac4200307af72d330c76d27
      Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/72642
      
      
      Tested-by: default avatarBenni Mack <benni@typo3.org>
      Tested-by: default avatarcore-ci <typo3@b13.com>
      Tested-by: default avatarStefan Bürk <stefan@buerk.tech>
      Tested-by: default avatarBenjamin Franzke <bfr@qbus.de>
      Reviewed-by: default avatarBenni Mack <benni@typo3.org>
      Reviewed-by: default avatarStefan Bürk <stefan@buerk.tech>
      Reviewed-by: default avatarBenjamin Franzke <bfr@qbus.de>
      6575656a
  8. Jul 31, 2022
    • Stefan Bürk's avatar
      [TASK] Upgrade to codeception/codeception 5.x · 816476c2
      Stefan Bürk authored
      Codeception released new major version 5, which
      unblocks upgrading to symfony 6 components.
      This patch raises codeception only, thus acting as a
      pre-patch to raise symfony requirements.
      
      Codeception 5 is hard to impossible with core v11,
      so this patch is v12 only: Codeception 5 requires
      PHP 8.0, so we'd have to support both 4 and 5 in
      v11 to allow testing with older PHP versions. This
      would result in various headaches since some API
      changes in codeception 5 are hard breaking in PHP,
      especially due to changed class property type hints.
      We'll thus keep codeception 4 in v11 and go with
      codeception 5 in v12.
      
      Minor acceptance test related adaptions are needed:
      
      * Replaced config option `path.log` with `path.output`
      * Added proper property type because of inheritance to
        codeception setup classes
      * Ensure method return type compatibility
      * Use `actor`instead of `class name` in suite config
      * Create acceptance split files in proper folder to
        ensure group filtering keeps working. Adjust clean
        up scripts and gitignore for this
      
      Used commands:
      
      > composer req --dev -w \
        typo3/testing-framework:dev-main \
        codeception/codeception:^5.0.0 \
        codeception/module-asserts:^3.0.0 \
        codeception/module-cli:^2.0.0 \
        codeception/module-filesystem:^3.0.0 \
        codeception/module-webdriver:^3.1.2 \
        codeception/lib-asserts:^2.0.0
      
      Resolves: #98047
      Releases: main
      Change-Id: I5cea60c2641988cc032b30ed1fbe3d8b0ed3b3d1
      Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/75317
      
      
      Tested-by: default avatarcore-ci <typo3@b13.com>
      Tested-by: default avatarOliver Klee <typo3-coding@oliverklee.de>
      Tested-by: default avatarChristian Kuhn <lolli@schwarzbu.ch>
      Tested-by: default avatarStefan Bürk <stefan@buerk.tech>
      Reviewed-by: default avatarChristian Kuhn <lolli@schwarzbu.ch>
      Reviewed-by: default avatarStefan Bürk <stefan@buerk.tech>
      816476c2
  9. Oct 19, 2021
    • Christian Kuhn's avatar
      [TASK] Do not cache phpunit results · 589df09c
      Christian Kuhn authored
      phpunit has a default-enabled feature to write test
      result to a cache file. phpunit however has no option
      to only run failed tests since those tests may have
      an @depends annatation and its hard for phpunit to
      sort this out. The cache file is of rather little
      use and mostly only pollutes the filesystem in real
      life.
      
      When developing core tests, developer typically
      use a filter or a path constraint to execute a sub set
      of tests only.
      
      Additionally, with multiple phpunit .xml files in
      one directory, the cache file overrides itself when
      different suites are executed.
      
      The patch disables that cache file by default in
      phpunit xml files.
      
      If anyone still wants to run the test suite and have
      tests that failed executed first, the option can be
      enabled on a per-use basis, example using runTests.sh:
      
        # Run suite and create cache file
        Build/Scripts/runTests.sh -e '--cache-result'
        # Run tests that failed first and update cache file
        Build/Scripts/runTests.sh -e '--cache-resul...
      589df09c
    • Jochen Roth's avatar
      [TASK] Add acceptance test for sitemap · 2e1d68b9
      Jochen Roth authored
      To make sure the sitemap works as expected
      a acceptance test has been added for
      the sitemap overview and detail view.
      
      Resolves: #94903
      Releases: master
      Change-Id: Ia747e4103aec5678300c0f91721bbef14e27e1d8
      Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/70639
      
      
      Tested-by: default avatarcore-ci <typo3@b13.com>
      Tested-by: default avatarStefan Bürk <stefan@buerk.tech>
      Tested-by: default avatarChristian Kuhn <lolli@schwarzbu.ch>
      Reviewed-by: default avatarStefan Bürk <stefan@buerk.tech>
      Reviewed-by: default avatarChristian Kuhn <lolli@schwarzbu.ch>
      2e1d68b9
  10. Aug 13, 2021
  11. Aug 06, 2021
    • Christian Kuhn's avatar
      [TASK] Merge phpunit setup files to Build/phpunit · 49b0077b
      Christian Kuhn authored
      typo3/testing-framework ships default .xml and
      bootstrap files for phpunit unit and functional tests.
      
      They are however quite hard to maintain since the
      testing-framework supports multiple core versions at
      once, but core occassionally needs version specific
      settings.
      
      The patch copies the files from the testing-framework
      to Build/phpunit and adapts core usages.
      
      The files within testing-framework will be kept, but
      will receive an additional "these are boilerplates,
      consider copying them to your extension" hint for
      extension developers.
      
      The local .xml files are now:
      * Compatible with phpunit 9
      * Let tests fail if phpunit marks a test with warning.
        With this enabled, we would have seen the issues
        fixed with #94724 and #94723 with initial #94706
        already. Good to do that now.
      
      Resolves: #94725
      Related: #94706
      Related: #94723
      Related: #94724
      Releases: master
      Change-Id: I9fef75a972759d26d4e0e3286142cacf181c33d2
      Reviewed-on: https://review.typo3.org/c/Pack...
      49b0077b
  12. Feb 24, 2021
  13. Feb 15, 2021
  14. Jan 25, 2021
  15. May 26, 2020
  16. Apr 05, 2019
  17. Oct 25, 2018
  18. Sep 18, 2018
  19. Aug 10, 2018
  20. Jul 07, 2018
    • Davert's avatar
      [TASK] Refactor acceptance tests · aab39102
      Davert authored
      typo3/testing-framework got a major release:
      composer update typo3/testing-framework ^4.0
      
      * codeception acceptance tests now live in a proper php namespace
      * merged installation suites yml files into one
      * installer tests are now one suite with different environment settings
      * aligned with changes in typo3/testing-framework
      * renamed Acceptance test suite to Backend test suite
      * removed Admin/Editor steps, replaced with useExistingLogin('role')
      
      Resolves: #85472
      Releases: master
      Change-Id: Ia049b43f5f9f645dddb509bde557ad83a7ac9023
      Reviewed-on: https://review.typo3.org/57461
      
      
      Tested-by: default avatarTYPO3com <no-reply@typo3.com>
      Reviewed-by: default avatarChristian Kuhn <lolli@schwarzbu.ch>
      Tested-by: default avatarChristian Kuhn <lolli@schwarzbu.ch>
      aab39102
  21. Jun 22, 2018
  22. Aug 14, 2017
  23. Jul 31, 2017
  24. May 20, 2017
  25. Feb 05, 2017
  26. Jan 27, 2017
  27. Nov 07, 2016
  28. Oct 24, 2016
  29. Oct 10, 2016
  30. Jun 08, 2016
  31. Mar 03, 2016
  32. Aug 11, 2015
  33. Jul 16, 2015
  34. Jul 15, 2015
  35. Apr 02, 2015
  36. Mar 28, 2015
  37. Mar 26, 2015