DoSomething Profile - DoSomething/legacy-website GitHub Wiki

The dosomething repo includes a Dosomething installation profile, and a makefile which can be executed to install the profile: drush make build-dosomething.make. There is also a ds script included, which automates the build and make commands.

The dosomething repo include any Drupal core or contrib code, but instead includes make files which are run by the build-dosomething.make file:

  • drupal-org-core.make -- Identifies the version of core to download. Also should include any core patches to download as well.

  • drupal-org.make -- Lists the contrib modules, libraries, and themes to download, and also lists any patches to download. This file also defines what folder the modules should be placed into, in our instance it's "contrib". This is to make it easier to locate the custom dosomething modules, as our modules directory is split into 2 subdirectories: contrib and dosomething.

    • The Contrib modules wiki page should be kept up to date with notes for how we use the module.

This implementation keeps our commits focused on changes to our custom dosomething modules and themes, as we will only simply be tracking version numbers of core/contrib code, and not the actual core/contrib code file changes. You'll notice that if you make changes to any of the contrib modules in the modules/contrib folder (which you should never do, bad bad bad), but if you do, the changes will not be tracked in git.

Upgrades

There should be an issue created for each contrib module (or core) update that needs to be made to the codebase. A pull request that makes the update should close the open issue in its description.

Core

To upgrade core, the version number should be changed in the drupal-org-core.make file. Core patches will also be added to this file as well.

Contrib

To upgrade contrib modules or themes, the version number should be updated in the drupal-org.make file. Patches for individual modules should also be placed into the file as well.

If we need to patch a contrib module, we need to post the patch to the corresponding issue on the module's drupal.org project page, and then link to the patch in the make file.

Testing

To test locally, instead of running the build file, you'll need to upgrade core or the contrib module locally first via drush dl, before committing any changes to the make files. If all looks good, then make the change to the version number in the .make file, and open a pull request.