Drupal CMS development repository
WARNING: This repository is only for contributing to Drupal CMS. Do not use it to build sites. If you want to give Drupal CMS a try, visit its project page.
Getting Started
To contribute to Drupal CMS, you'll need DDEV, which is our officially supported platform for contribution. Install it on your machine, then follow these instructions:
- Follow the instructions to clone this repository.
- At the command line, go into the repository root and run
ddev launch
.
Code of Conduct
Drupal CMS has adopted a code of conduct that we expect all participants to adhere to.
Getting Help
Find us in the #drupal-cms-development channel in Drupal Slack.
Known Issues
- You cannot use Project Browser (or any module based on the core Package Manager module) to install new extensions into the DDEV project. You can install extensions (or apply recipes) that are already present, though.
Useful Commands
Applying a Recipe
ddev drush recipe ../recipes/NAME_OF_RECIPE
Running Tests
Once the project's containers are up and running (run ddev start
to ensure that), you can use the following commands to run Drupal CMS's tests.
Run all tests, in all recipes:
ddev test
Run all tests in a single recipe:
ddev test recipes/NAME_OF_RECIPE
Run all end-to-end (Cypress) tests, in all recipes:
ddev npm test
Run all end-to-end tests in a single recipe:
ddev npm test -- --spec="recipes/NAME_OF_RECIPE/tests/e2e/*.cy.js"
Run all PHPUnit tests in a single recipe:
ddev exec phpunit -c web/core recipes/NAME_OF_RECIPE
Run a single PHPUnit test:
ddev exec phpunit -c web/core path/to/test/file.php
Run Cypress with custom options.
ddev npm test -- CUSTOM_OPTIONS...
Run PHPUnit with custom options.
ddev exec phpunit CUSTOM_OPTIONS...
Reinstalling Drupal CMS
Reinstall with the currently installed dependencies:
ddev drush site:install --yes
Reinstall via the UI, with the currently installed dependencies:
ddev drush sql:drop --yes && ddev launch
Delete and reinstall all dependencies:
ddev exec rm -r -f vendor web composer.lock && ddev restart