Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

v4 #628

Merged
merged 293 commits into from
Sep 10, 2023
Merged

v4 #628

merged 293 commits into from
Sep 10, 2023

Conversation

lucatume
Copy link
Owner

@lucatume lucatume commented Sep 6, 2023

In short:

  • PHP 8.0+ compatibility
  • Codeception 5 compatibility
  • Removed Codeception 2, 3, 4 compatibility
  • Rewrite and remove of a lost of code

In detail:

  • build(Makefile) clean up build setup
  • build(Makefile) complete first pass on services stack
  • build(Makefile) fix WP container IP in php container
  • build(Makefile) add healthcheck target
  • build(.github) deactivate workflows to avoid consistenlty broken runs
  • build(Makefile) create Composer cache directory
  • build(Makfile,composer.json) refresh containers and build system
  • build(composer.json) add rector/rector to dev req.
  • build(rector.php) add rector config file
  • build(rector.php) add more rules
  • refactor(src/Codeception/Command) update dir
  • refactor(src) removed unused files
  • build(composer.json) move PHP version req. to top
  • build(_build/_container/php) add intl extension
  • build(Makefile) fix typo in WP root dir path
  • build(rector.php) add type and PSR-4 refactoring rules"
  • refactor(src,tests) Extensions udpate to PHP 8.0
  • build(rector.php) add rules for coalescing use
  • doc(migration) add draft notes about v4 migration
  • build(rector.php) more prop rules
  • build(composer.json) autoload v4 aliases for moved classes
  • refactor(src) move filesystem functions over to Filesystem class
  • refactor(src,tests) more work to run first acceptance test
  • build(Makefile) add more required hosts to build configuration
  • build(_container/php) add rector alias to bash script
  • test(config) class_name -> actor in configuration files
  • doc(modules,configuration) class_name -> actor
  • refactor(src) class_name -> actor in template classes
  • build(Makefile) add sub1 subdomain to hosts
  • build(Makefile) add Chrome container host hydration and healthcheck
  • refactor(src) run acceptance suite correctly
  • test(cli) update unit suite name
  • refactor(src) pass cli tests
  • refactor(src) pass climodule tests
  • test(dbunit) move to directory root
  • refactor(src) start work on dbunit suite and related files
  • refactor(src,tests) pass dbunit suite
  • refactor(src) move all code to src directory
  • build(rector.php) add more rules
  • refactor(src,tests) rector all src files
  • doc(CHANGELOG.md) add missing change entries
  • refactor(src) move more functions out of strings to class
  • refactor(src) remove the strings functions file
  • refactor(src) update Generator classes
  • fix(src) imported count function
  • build(Makefile) .env.testing.docker -> .env.docker
  • refactor(src) review and update Events API
  • refactor(includes) rename old take on PHPUnit core suite
  • test(functional) update suite configuration file
  • refactor(src) remove WithEvents trait
  • fix(Module/WPDb) correctly fetch the WPFilesystem module
  • fix(Utils/Serializer) serialize objects and arrays only
  • test(functional) update suite configuration file
  • build(Makefile) add mysql_cli target
  • build(Makefile) add .PHONY to phony targets
  • build(Makefile) mysql_cli -> ssh_mysql
  • test(functional) remove test for Handlebars syntax
  • doc(CHANGELOG.md) add entry about removal of support of Handlebars syntax from WPDb module
  • doc(version-4-todos.txt) add not about docs update
  • build(rector.php) fix syntax issue
  • test(init) fix import issue
  • refactor(Template/WithInjectableHelpers) update code to PHP 8
  • refactor(Template/WPBrowser) udpate init template
  • test(isolated) update suite configureation file
  • fix(Module/WPLoader) update path to Core PHPUnit suite test suite
  • test(wploadermodule) udpate suite configuration file
  • refactor(Module/WPQueries) update to PHP 8
  • build(Makefile) build includes Core suite from master branch
  • replace previous includes with fresh includes
  • refactor(Utils/Filesystem) realpathish -> realpath
  • feat(Utils/Password) add salt generation facility
  • refactor(Module/WPLoader) first refactor pass to use Core test suite file
  • refactor(src) redirect functions to static methods
  • refactor(src) deprecate all functions
  • refactor(src) start re-implementation of WPTestCase et al
  • refactor(src) clean up generators, remove unused
  • refactor(TestCase/WPTestCase) implement Core test case redirection
  • refactor(src) activate plugins in separated process
  • refactor(src) activate plugins/theme in process
  • refactor(includes/core-phpunit) extend PHPUnit test case in Yoast stub
  • refactor(Module/WPLoader) better capturing of plugin/theme activation issues
  • test(wploadersuite) pull env from super-global
  • build(Makefile) patch abstract-testcase.php after update
  • fix(includes/core-phpunit) open up methods, replace get_called_class() calls
  • refactor(TestCase/WPTestCase) rewrite Unit + Core
  • refactor(MonkeyPatch) 1 <> 1 patcher and file relationship
  • refactor(src) extract file request functionality
  • fix(TestCase/WPTestCase) add queries method
  • WiP - refactor initialization
  • refactor(src,tests) clean up more
  • build(Makefile) add missing fast-failure flag
  • build(_data/dump.sql) update to use twentytwentyone theme
  • refactor(WordPress/FileRequest) add preLoadClosure support
  • build(Makefile) pull WP Core PHPUnit from trunk
  • build(includes/core-phpunit) update from trunk
  • fix(Module/WPCLI) update to use Process
  • fix(Utils/Db) update import function to use Process"
  • test(dbunit) update snapshots
  • refactor(Templates/Wpbrowser) clean up, reduce
  • build(Makefile) move skipped test suite to end
  • chore(Module/WPLoader) remove todo
  • fix(wp-tests-config.php) do not pre-fill WP_MULTISITE const
  • refactor(WPLoader,FileRequest) support multisite
  • refactor(tests,src) deprecate Map, move tests
  • refactor(src,tests) remove Map, Data usages, update tests to use uopz
  • test(unit) complete update to WPFileSystem test case
  • refactor(Module/WPLoader) start BDD refactoring
  • refactor(Module/WPLoader) use WP Installation object
  • refactor(WordPress/Installation) state pattern
  • chore(includes) update from Core PHPUnit suite
  • refactor(src) remove deprecated import
  • Static analysis for bug-free development
  • feat(StreamWrapper) add file contents redirection patcher
  • feat(Utils/Filesystem) add function to get/create tmp subdir
  • refactor(WPLoader) iterate on tests
  • build(composer.json) remove vfsstream dependency
  • test(unit) update Copier extension tests to use real FS
  • refactor(Module) remove the WordPress module
  • fix(Utils/Filesystem) touch empty files
  • test(unit) refactor WPDb test, remove mock, use real db
  • test(unit) remove unused trait
  • refactor(Module/WPQueries) remove const abstraction, update tests
  • refactor(Services/Bootstrapper) remove
  • refactor(Symlinker) remove unused statement
  • test(unit) remove unused trait from WPCLITest
  • test(unit) update WP, WPQueries tests
  • Add CI running only PHPStan
  • Fix CI config path
  • Fix unbound package versions
  • chore(tests) remove unused _containers dir
  • refactor(Extensions/Symlinker) clean up code and tests
  • Don't run CI twice in a local branch
  • build(Makefile) clean up
  • build(bin/gitattributes-update) add to update gitattributes automatically
  • build(composer.json) remove codeception/util-universalframework as currently not required
  • src(Command) add the run:all command to run all the suites, bare minimums
  • build(Makefile) restore update_core_phpunit_target
  • build(Makefile,bin) move Core PHPUnit includes update
  • build(includes/core-phpunit) update
  • build(test/.env) use correct admin password
  • build(docker-compose.yml) add chrome and wp healthcheck
  • build(bin/stack) add up and down commands support
  • fix(Events) capture global Codeception instance correctly
  • build(composer.json) track dev v1.0.0 of codeception snapshot assertions
  • test(_support) add StubFactory, use with uopz_set_mock
  • test(unit) add first RunAll command coverage
  • test(unit) clean up of RunAll test and connected facilities
  • build(config/containers) enable coverage mode in XDebug
  • refactor(Commands/RunAll) simpler codecept bin finding
  • feat(WordPress/Installation) scaffold report support [skip ci]
  • refactor(src) remove WPHealthcheck class in favor of installation
  • refactor(src) remove unused classes
  • refactor(src) remove unused script files
  • refactor(src) remove Stub and Function prophecy classes
  • build(bin) remove .sh extension from bin file
  • refactor(src) cleanup doc blocks, remove stubbed interface method
  • test(unit) remove unused import
  • move installation tmp dir to tmpfs
  • refactor(src) remove the Utils\Map class
  • test(unit) update snapshots
  • refactor(src) remove unused WP adapter
  • build(docker-compose.yml) set mode, uid, gid in tmpfs volume
  • refactor(Module/WPLoader) remove optional WP loading from initialize
  • feat(Process) add requireFiles and cwd options support
  • feat(Utils/Filesystem) allow per-call tmp root dir
  • test(unit) try out Loop-based execution
  • refactor(Loop) suport rethrow option
  • doc(tla) add spec from ork
  • refactor(src) rewrite the process execution protocol
  • fix(Process/Control) hydrate Codeception config before merge
  • build(docker-compose) use RAMdisk on macOS
  • fix(Process/Control) set cwd and Codeception root dir correctly
  • fix(Process/Control) set Composer paths
  • fix(Process) Compsoer autoload file path and dir
  • refactor(WPLoader) move WP load concern out of module
  • build(docker-compose.yml) fix tmpfs for /var/tmp
  • fix(src) multi-line error parsing, more WPLoader tests
  • fix(WPLoader) update plugin theme activation logic
  • fix(WPLoader) activate plugins theme in separate process during bootstrap
  • fix(Module/WPLoader) itereate, fix sep. process plugin/theme activation
  • fix installation logic
  • build(bin/stack) use seleniarm chrome on arm64
  • fix(src) InstallNetworkAction
  • fix(Process/Loop) set STDOUT/STDERR correctly in result
  • feat(CodeExecution) add throw and exit action
  • refactor(WordPress/Installation) remove unused imports
  • test(unit) update action mock logic, update expectations
  • test(unit) update and fix not passing tests
  • test(unit) update snapshots
  • refactor(src) remove unused import
  • feat(WPLoader) add multiple-dump support
  • build(.github) update container build paths
  • build(bin/stack) skip buildables on -s
  • build(.github) debug build
  • build(.github,bin/stack) update, cache build layers
  • fix(Module/WPDb) method call
  • build(.github) restore all PHP versions
  • refactor(Init) re-do init template
  • feat(WPLoader,WPDb) support dbUrl configuration param
  • fix(init) test and fix init template
  • refactor(composer.json) remove unused dependency
  • refactor(src) remove module requirements and guard
  • refactor(Adpaters) remove PHPUnit assertions adapter
  • refactor(Module/WPCLI) use CliProcess
  • build(bin/stack) remove MacOS ramdisk hack code
  • refactor(src,includes) PHPStan lvl 0 cleanup
  • refactor(src) PHPStan lvl 1 checks
  • refactor(src) PHPStan lvl2
  • refactor(src) PHPStan lvl3 pass
  • refactor(src) PHPStan lvl4 pass
  • refactor(src) PHPStan lvl5 pass
  • build(composer.json) add rector, move config files
  • refactor(src) PHPStan lvl6 pass
  • refactor(src) PHPStan lvl6 pass
  • refactor(src) PHPStan lvl7 pass
  • refactor(src) PHPStan lvl8 pass
  • refactor(src) PHPStan lvl9 pass
  • build(bin/stack,Makefile) support phpstan command
  • build(phpcs) configure and setup to run from bin/stack
  • style(src) fix phpcs issues
  • build(phpstan) update lvl to current max (9)
  • fix(src) second testing pass
  • refactor(includes) internalize opis/closure 3.6.3
  • refactor(src) tests, pass 3
  • build(.github) skip cli test
  • build(config/containers) rm PHP ext installation bin
  • fix(TmpFileCleanup) clean between tests
  • test(tests) fix snapshots, debug some unit tests
  • build(composer.json) dev-req codeception snapshot assertions 1.0.0
  • chore(...) remove roleplay campaign file
  • doc(astro) initial commit
  • doc(docs) fix links
  • doc(docs) port over v3 docs
  • docs(v4) start on setup work
  • refactor(src) fast setup work
  • refactor(src) dev:start and dev:stop commands from wp ns
  • refactor(DockerComposeController) use file to avoid check on run
  • doc(README.md) change to dev:start, dev:stop
  • feat(Commands) add first version of DevInfo command
  • fix(Command) RunAll correctly
  • Fix typos
  • Revert false positive
  • Fix CS
  • Fix curly brances in strings
  • Fix mid-line TAB characters
  • fix(Utils/Db) handle sqlite dbUrl
  • refactor(setup) finalix Plugin project setup
  • refactor(setup) finalize plugin setup
  • build(composer.json) require symfony/filesytem explicitly
  • feat(setup) theme project
  • build(Makefile) pull sqlite plugin programmatically
  • build(includes/core-phpunit) update from source
  • feat(setup) site support
  • test(unit) cover process and controllers
  • fix(src) phpstan pass
  • test(typos) add config file, fix
  • style(cs) fix
  • test(build) update per extension removal
  • test(unit) cover commands
  • style(src) fix
  • test(unit) correctly track fs-templates/bedrock src files
  • build(composer.json) require chromedriver as dev dependency
  • test(codeception.dist.yml) re-add EventDispatcherBridge extension
  • fix(Command) add command to download Chromedriver
  • docs(docs) cleanup 2
  • doc(docs) fix typos
  • fix(WPLoader) pull const information only from configured installations
  • doc(v3) port over v3 documentation
  • doc(v4) update headers, some smaller adjustments
  • doc(README.md) fis typo
  • docs(docs) update, build from MkDocs Material
  • build(config) update typos configuration
  • docs(docs,docs_src) update, move
  • build(docs) add doc publishing action
  • build(docs) add build workflow
  • docs(assets) add logo and favicon
  • docs(module/WPLoader.md) fix missing link

@lucatume lucatume self-assigned this Sep 6, 2023
@lucatume lucatume marked this pull request as ready for review September 10, 2023 10:26
@lucatume lucatume merged commit 0cb8c05 into master Sep 10, 2023
33 checks passed
@lucatume lucatume deleted the v4 branch September 10, 2023 10:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants