Skip to content

Latest commit

 

History

History
160 lines (107 loc) · 4.57 KB

README.md

File metadata and controls

160 lines (107 loc) · 4.57 KB

LocalGov Drupal

Drupal distribution and install profile to help UK councils collaborate and share Drupal code for publishing website content.

This project is the Drupal installation profile that is best installed using composer to require a project template, localgov_project, to scaffold and build the codebase which includes this profile.

Documentation

Further documentation for developers, content designers and other audiences can be found at https://docs.localgovdrupal.org/.

Requirements for installing LocalGov Drupal locally

To install locally, you will need Composer and we recommend Lando.

https://getcomposer.org/ https://lando.dev/

Please also see the Lando requirements section for details of Docker requirements for different operating systems.

https://docs.lando.dev/basics/installation.html#system-requirements

Installing LocalGov Drupal locally

To install LocalGov Drupal locally for testing or development, use the Composer-based project template.

Change MY_PROJECT to whatever you'd like your project directory to be called.

composer create-project localgovdrupal/localgov-project MY_PROJECT

Change directory into the MY_PROJECT directory and run lando start.

cd MY_PROJECT
lando start

Once lando has finished building, run the site installer.

lando drush si localgov -y

Composer notes

If developing locally and you want to force composer to clone again from source rather than use composer cache, you can add the --no-cache flag.

composer create-project localgovdrupal/localgov-project MY_PROJECT --stability dev --no-cache

If you just want to pull in the latest changes to LocalGov Drupal run composer update with the --no-cache flag.

composer update --no-cache

If you want to be sure you are getting the latest commits when developing, clearing composer cache, deleting the folders and re-running composer update seems to be a solid approach:

rm -rf web/profiles/contrib/ web/modules/contrib/ web/themes/contrib/;
composer clear-cache; composer update --with-dependencies --no-cache;
lando start;
lando drush si localgov -y;

If you run into memory limit errors when running Composer commands, prefix the commands with COMPOSER_MEMORY_LIMIT=-1. For example, to install the project run:

COMPOSER_MEMORY_LIMIT=-1 composer create-project --stability dev localgovdrupal/localgov-project MY_PROJECT

Contributing

See CONTRIBUTING.md for current contribution guidelines.

Issue tracking

In the early development stages, most issues will be tracked in this repository https://github.com/localgovdrupal/localgov/issues.

Development issues relating to specific projects or module should be tracked in the project repository. In the future we might set up a separate repository for centralised issue tracking of bug reports for end users.

Development setup

The main development environment in use is currently Lando – a Docker based development environment that works on Linux, MacOS and Windows.

@todo Document Lando setup.

Coding standards

PHP CodeSniffer is installed as a dev dependency by Composer and configured to use Drupal coding standards and best practices. It is a good idea to run these before committing any code. All code in pull requests should pass all CodeSniffer tests.

To check code using Lando run:

lando phpcs

To attempt to automatically fix coding errors in Lando run:

lando phix

Coding standards resources

Running tests

The included phpunit.xml.dist file contains configuration for automatically running the LocalGov Drupal test suite.

To run all LocalGov Drupal tests with Lando use:

lando phpunit

To run all the tests for a specific module use:

lando phpunit web/modules/contrib/localgov_my_module

Tests can be filtered using the --filter option. To only run a specific test use:

lando phpunit --filter=myTestName

Testing resources