From fc512e50e916bdc3f52901172d094aa07858c1e2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20Uzna=C5=84ski?= Date: Mon, 15 Apr 2024 17:22:03 +0100 Subject: [PATCH] [TASK] Drop DDEV configuration (#1063) Resolves: #971 --- .ddev/config.yaml | 283 ---------------------------------- .ddev/php/custom-php.ini | 2 - .gitattributes | 1 - CHANGELOG.md | 1 + Documentation/Environment.rst | 5 +- Documentation/Running.rst | 56 ++++--- 6 files changed, 29 insertions(+), 319 deletions(-) delete mode 100644 .ddev/config.yaml delete mode 100644 .ddev/php/custom-php.ini diff --git a/.ddev/config.yaml b/.ddev/config.yaml deleted file mode 100644 index de316ce..0000000 --- a/.ddev/config.yaml +++ /dev/null @@ -1,283 +0,0 @@ -name: tea -type: php -docroot: "" -php_version: "8.3" -webserver_type: nginx-fpm -router_http_port: "8081" -router_https_port: "4434" -xdebug_enabled: false -additional_hostnames: [] -additional_fqdns: [] -database: - type: mariadb - version: "10.5" -hooks: - post-start: - - exec: composer install --no-progress -omit_containers: [dba, ddev-ssh-agent] -webimage_extra_packages: [parallel] -use_dns_when_possible: true -composer_version: "2" -web_environment: - - typo3DatabaseName=typo3 - - typo3DatabaseHost=db - - typo3DatabaseUsername=root - - typo3DatabasePassword=root -nodejs_version: "16" - -# Key features of DDEV's config.yaml: - -# name: # Name of the project, automatically provides -# http://projectname.ddev.site and https://projectname.ddev.site - -# type: # drupal6/7/8, backdrop, typo3, wordpress, php - -# docroot: # Relative path to the directory containing index.php. - -# php_version: "8.1" # PHP version to use, "5.6", "7.0", "7.1", "7.2", "7.3", "7.4", "8.0", "8.1", "8.2", "8.3" - -# You can explicitly specify the webimage but this -# is not recommended, as the images are often closely tied to DDEV's' behavior, -# so this can break upgrades. - -# webimage: # nginx/php docker image. - -# database: -# type: # mysql, mariadb, postgres -# version: # database version, like "10.4" or "8.0" -# MariaDB versions can be 5.5-10.8 and 10.11, MySQL versions can be 5.5-8.0 -# PostgreSQL versions can be 9-16. - -# router_http_port: # Port to be used for http (defaults to global configuration, usually 80) -# router_https_port: # Port for https (defaults to global configuration, usually 443) - -# xdebug_enabled: false # Set to true to enable Xdebug and "ddev start" or "ddev restart" -# Note that for most people the commands -# "ddev xdebug" to enable Xdebug and "ddev xdebug off" to disable it work better, -# as leaving Xdebug enabled all the time is a big performance hit. - -# xhprof_enabled: false # Set to true to enable Xhprof and "ddev start" or "ddev restart" -# Note that for most people the commands -# "ddev xhprof" to enable Xhprof and "ddev xhprof off" to disable it work better, -# as leaving Xhprof enabled all the time is a big performance hit. - -# webserver_type: nginx-fpm, apache-fpm, or nginx-gunicorn - -# timezone: Europe/Berlin -# This is the timezone used in the containers and by PHP; -# it can be set to any valid timezone, -# see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones -# For example Europe/Dublin or MST7MDT - -# composer_root: -# Relative path to the Composer root directory from the project root. This is -# the directory which contains the composer.json and where all Composer related -# commands are executed. - -# composer_version: "2" -# You can set it to "" or "2" (default) for Composer v2 or "1" for Composer v1 -# to use the latest major version available at the time your container is built. -# It is also possible to use each other Composer version channel. This includes: -# - 2.2 (latest Composer LTS version) -# - stable -# - preview -# - snapshot -# Alternatively, an explicit Composer version may be specified, for example "2.2.18". -# To reinstall Composer after the image was built, run "ddev debug refresh". - -# nodejs_version: "18" -# change from the default system Node.js version to another supported version, like 16, 18, 20. -# Note that you can use 'ddev nvm' or nvm inside the web container to provide nearly any -# Node.js version, including v6, etc. -# You only need to configure this if you are not using nvm and you want to use a major -# version that is not the default. - -# additional_hostnames: -# - somename -# - someothername -# would provide http and https URLs for "somename.ddev.site" -# and "someothername.ddev.site". - -# additional_fqdns: -# - example.com -# - sub1.example.com -# would provide http and https URLs for "example.com" and "sub1.example.com" -# Please take care with this because it can cause great confusion. - -# upload_dirs: "custom/upload/dir" -# -# upload_dirs: -# - custom/upload/dir -# - ../private -# -# would set the destination paths for ddev import-files to /custom/upload/dir -# When Mutagen is enabled this path is bind-mounted so that all the files -# in the upload_dirs don't have to be synced into Mutagen. - -# disable_upload_dirs_warning: false -# If true, turns off the normal warning that says -# "You have Mutagen enabled and your 'php' project type doesn't have upload_dirs set" - -# ddev_version_constraint: "" -# Example: -# ddev_version_constraint: ">= 1.22.4" -# This will enforce that the running ddev version is within this constraint. -# See https://github.com/Masterminds/semver#checking-version-constraints for -# supported constraint formats - -# working_dir: -# web: /var/www/html -# db: /home -# would set the default working directory for the web and db services. -# These values specify the destination directory for ddev ssh and the -# directory in which commands passed into ddev exec are run. - -# omit_containers: [db, ddev-ssh-agent] -# Currently only these containers are supported. Some containers can also be -# omitted globally in the ~/.ddev/global_config.yaml. Note that if you omit -# the "db" container, several standard features of DDEV that access the -# database container will be unusable. In the global configuration it is also -# possible to omit ddev-router, but not here. - -# performance_mode: "global" -# DDEV offers performance optimization strategies to improve the filesystem -# performance depending on your host system. Should be configured globally. -# -# If set, will override the global config. Possible values are: -# - "global": uses the value from the global config. -# - "none": disables performance optimization for this project. -# - "mutagen": enables Mutagen for this project. -# - "nfs": enables NFS for this project. -# -# See https://ddev.readthedocs.io/en/latest/users/install/performance/#nfs -# See https://ddev.readthedocs.io/en/latest/users/install/performance/#mutagen - -# fail_on_hook_fail: False -# Decide whether 'ddev start' should be interrupted by a failing hook - -# host_https_port: "59002" -# The host port binding for https can be explicitly specified. It is -# dynamic unless otherwise specified. -# This is not used by most people, most people use the *router* instead -# of the localhost port. - -# host_webserver_port: "59001" -# The host port binding for the ddev-webserver can be explicitly specified. It is -# dynamic unless otherwise specified. -# This is not used by most people, most people use the *router* instead -# of the localhost port. - -# host_db_port: "59002" -# The host port binding for the ddev-dbserver can be explicitly specified. It is dynamic -# unless explicitly specified. - -# mailpit_http_port: "8025" -# mailpit_https_port: "8026" -# The Mailpit ports can be changed from the default 8025 and 8026 - -# host_mailpit_port: "8025" -# The mailpit port is not normally bound on the host at all, instead being routed -# through ddev-router, but it can be bound directly to localhost if specified here. - -# webimage_extra_packages: [php7.4-tidy, php-bcmath] -# Extra Debian packages that are needed in the webimage can be added here - -# dbimage_extra_packages: [telnet,netcat] -# Extra Debian packages that are needed in the dbimage can be added here - -# use_dns_when_possible: true -# If the host has internet access and the domain configured can -# successfully be looked up, DNS will be used for hostname resolution -# instead of editing /etc/hosts -# Defaults to true - -# project_tld: ddev.site -# The top-level domain used for project URLs -# The default "ddev.site" allows DNS lookup via a wildcard -# If you prefer you can change this to "ddev.local" to preserve -# pre-v1.9 behavior. - -# ngrok_args: --basic-auth username:pass1234 -# Provide extra flags to the "ngrok http" command, see -# https://ngrok.com/docs/ngrok-agent/config or run "ngrok http -h" - -# disable_settings_management: false -# If true, DDEV will not create CMS-specific settings files like -# Drupal's settings.php/settings.ddev.php or TYPO3's AdditionalConfiguration.php -# In this case the user must provide all such settings. - -# You can inject environment variables into the web container with: -# web_environment: -# - SOMEENV=somevalue -# - SOMEOTHERENV=someothervalue - -# no_project_mount: false -# (Experimental) If true, DDEV will not mount the project into the web container; -# the user is responsible for mounting it manually or via a script. -# This is to enable experimentation with alternate file mounting strategies. -# For advanced users only! - -# bind_all_interfaces: false -# If true, host ports will be bound on all network interfaces, -# not the localhost interface only. This means that ports -# will be available on the local network if the host firewall -# allows it. - -# default_container_timeout: 120 -# The default time that DDEV waits for all containers to become ready can be increased from -# the default 120. This helps in importing huge databases, for example. - -#web_extra_exposed_ports: -#- name: nodejs -# container_port: 3000 -# http_port: 2999 -# https_port: 3000 -#- name: something -# container_port: 4000 -# https_port: 4000 -# http_port: 3999 -# Allows a set of extra ports to be exposed via ddev-router -# Fill in all three fields even if you don’t intend to use the https_port! -# If you don’t add https_port, then it defaults to 0 and ddev-router will fail to start. -# -# The port behavior on the ddev-webserver must be arranged separately, for example -# using web_extra_daemons. -# For example, with a web app on port 3000 inside the container, this config would -# expose that web app on https://.ddev.site:9999 and http://.ddev.site:9998 -# web_extra_exposed_ports: -# - name: myapp -# container_port: 3000 -# http_port: 9998 -# https_port: 9999 - -#web_extra_daemons: -#- name: "http-1" -# command: "/var/www/html/node_modules/.bin/http-server -p 3000" -# directory: /var/www/html -#- name: "http-2" -# command: "/var/www/html/node_modules/.bin/http-server /var/www/html/sub -p 3000" -# directory: /var/www/html - -# override_config: false -# By default, config.*.yaml files are *merged* into the configuration -# But this means that some things can't be overridden -# For example, if you have 'use_dns_when_possible: true'' you can't override it with a merge -# and you can't erase existing hooks or all environment variables. -# However, with "override_config: true" in a particular config.*.yaml file, -# 'use_dns_when_possible: false' can override the existing values, and -# hooks: -# post-start: [] -# or -# web_environment: [] -# or -# additional_hostnames: [] -# can have their intended affect. 'override_config' affects only behavior of the -# config.*.yaml file it exists in. - -# Many DDEV commands can be extended to run tasks before or after the -# DDEV command is executed, for example "post-start", "post-import-db", -# "pre-composer", "post-composer" -# See https://ddev.readthedocs.io/en/stable/users/extend/custom-commands/ for more -# information on the commands that can be extended and the tasks you can define -# for them. Example: -#hooks: diff --git a/.ddev/php/custom-php.ini b/.ddev/php/custom-php.ini deleted file mode 100644 index 8ddbce0..0000000 --- a/.ddev/php/custom-php.ini +++ /dev/null @@ -1,2 +0,0 @@ -[PHP] -xdebug.mode=coverage,debug diff --git a/.gitattributes b/.gitattributes index 50b024c..b9b4766 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,5 +1,4 @@ /.Build/ export-ignore -/.ddev/ export-ignore /.editorconfig export-ignore /.eslintignore export-ignore /.eslintrc.json export-ignore diff --git a/CHANGELOG.md b/CHANGELOG.md index e0aa5ca..2fd90be 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,7 @@ This project adheres to [Semantic Versioning](https://semver.org/). ### Deprecated ### Removed +- Drop DDEV configuration in favor of `runTests.sh` (#1063) - Stop using the predefined GitHub Actions (#1211) ### Fixed diff --git a/Documentation/Environment.rst b/Documentation/Environment.rst index a948522..0f12a0f 100644 --- a/Documentation/Environment.rst +++ b/Documentation/Environment.rst @@ -6,6 +6,5 @@ Development environment ======================= -You can either run the code quality checks and automated tests locally (using a -local PHP, Composer, and database), or you can use -`ddev `__ for a Docker-based setup. +You can run the code quality checks and automated tests locally (using a +local PHP, Composer, and database) or using runTests.sh. diff --git a/Documentation/Running.rst b/Documentation/Running.rst index 6ff8862..ee3cea1 100644 --- a/Documentation/Running.rst +++ b/Documentation/Running.rst @@ -21,120 +21,116 @@ Composer scripts For most development-related tasks, this extension provides Composer scripts. If you are working locally, you can run them using :bash:`composer `. -If you are working with ddev, you can run them with :bash:`ddev composer `. -You do not need to start or build the containers for this as this happens -automatically. The code-quality-related Composer scripts make use of the PHIVE-installed tools. -This means that for non-ddev-based development, you need to run :bash:`phive install` -before you can use the Composer scripts. -You can run :bash:`composer` (or :bash:`ddev composer`) to display a list of all available -Composer commands and scripts. For all custom Composer scripts there are descriptions -in the `script-description` section of the `composer.json`. +You can run :bash:`composer` or :bash:`./Build/Scripts/runTests.sh composer` to +display a list of all available Composer commands and scripts. For all custom +Composer scripts there are descriptions in the `script-description` section of +the `composer.json`. .. _running-code-checks: Running code checks =================== -You can currently run these code checks on the command line (if working locally without ddev, omit the :bash:`ddev` part): +You can currently run these code checks on the command line: .. index:: Commands; composer ci:composer:normalize .. code-block:: bash - ddev composer ci:composer:normalize + composer ci:composer:normalize Checks the composer.json. .. index:: Commands; composer ci:json:lint .. code-block:: bash - ddev composer ci:json:lint + composer ci:json:lint Lints the JSON files. .. index:: Commands; composer ci:php .. code-block:: bash - ddev composer ci:php + composer ci:php Runs all static checks for the PHP files. .. index:: Commands; composer ci:php:cs-fixer .. code-block:: bash - ddev composer ci:php:cs-fixer + composer ci:php:cs-fixer Checks the code style with the PHP Coding Standards Fixer (PHP-CS-Fixer). .. index:: Commands; composer ci:php:lint .. code-block:: bash - ddev composer ci:php:lint + composer ci:php:lint Lints the PHP files for syntax errors. .. index:: Commands; composer ci:php:sniff .. code-block:: bash - ddev composer ci:php:sniff + composer ci:php:sniff Checks the code style with PHP_CodeSniffer (PHPCS). .. index:: Commands; composer ci:php:stan .. code-block:: bash - ddev composer ci:php:stan + composer ci:php:stan Checks the PHP types using PHPStan. .. index:: Commands; composer ci:static .. code-block:: bash - ddev composer ci:static + composer ci:static Runs all static code checks (syntax, style, types). .. index:: Commands; composer ci:ts:lint .. code-block:: bash - ddev composer ci:ts:lint + composer ci:ts:lint Lints the TypoScript files. .. index:: Commands; composer ci:yaml:lint .. code-block:: bash - ddev composer ci:yaml:lint + composer ci:yaml:lint Lints the YAML files. .. index:: Commands; composer fix:php .. code-block:: bash - ddev composer fix:php + composer fix:php Runs all fixers for the PHP code. .. index:: Commands; composer fix:php:cs .. code-block:: bash - ddev composer fix:php:cs + composer fix:php:cs Fixes the code style with PHP-CS-Fixer. .. index:: Commands; composer fix:php:sniff .. code-block:: bash - ddev composer fix:php:sniff + composer fix:php:sniff Fixes the code style with PHP_CodeSniffer. .. index:: Commands; composer phpstan:baseline .. code-block:: bash - ddev composer phpstan:baseline + composer phpstan:baseline Updates the PHPStan baseline file to match the code. @@ -143,47 +139,47 @@ Updates the PHPStan baseline file to match the code. Running unit and functional tests ================================= -You can currently run these tests and coverages on the command line (if working locally without ddev, omit the :bash:`ddev` part): +You can currently run these tests and coverages on the command line: .. index:: Commands; composer ci:coverage .. code-block:: bash - ddev composer ci:coverage + composer ci:coverage Runs the ci:coverage script as defined in composer.json. .. index:: Commands; composer ci:coverage:functional .. code-block:: bash - ddev composer ci:coverage:functional + composer ci:coverage:functional Generates the code coverage report for functional tests. .. index:: Commands; composer ci:coverage:merge .. code-block:: bash - ddev composer ci:coverage:merge + composer ci:coverage:merge Merges the code coverage reports for unit and functional tests. .. index:: Commands; composer ci:coverage:unit .. code-block:: bash - ddev composer ci:coverage:unit + composer ci:coverage:unit Generates the code coverage report for unit tests. .. index:: Commands; composer ci:tests:functional .. code-block:: bash - ddev composer ci:tests:functional + composer ci:tests:functional Runs the functional tests. .. index:: Commands; composer ci:tests:unit .. code-block:: bash - ddev composer ci:tests:unit + composer ci:tests:unit Runs the unit tests.