We are using drush make in our deployment of new and updated platforms through Aegir and thus drush provision.

We do not keep our theme css and js under version control as it complicates any conflict resolution between coffee and scss source files.

I want to automate the compiling of the css and js directories as part of the Create new platform provisioning script run by Aegir but cannot think of the right way to do this.

Main issues:

  • The granularity of a drush-hook-post-make is too course; not every download needs to be processed: e.g. only one theme needs to run a compile script after having been cloned from our git repo by drush make. How would we distinguish which downloads needed post-make processing?

  • git pre-commit and post-checkout hooks are under vc in the theme's repo and would do the compiles but need to be explicitly invoked. Currently we manually symlink to the vc'd git hooks and run the compiles ... would like to automate this step.

up vote 2 down vote accepted

In general, you shouldn't use Drush for that. Instead, use a build process, and one of the steps in the build would be drush make.

There are a number of existing build systems that can be used to achieve what you're looking for, including (but not limited to):

A typical process would have the following steps:

  • Delete build TARGET directory
  • drush make drupal.make TARGET --prepare-install
  • Symbolically link custom profiles, themes, and modules
  • Execute task to compile CSS, JS
  • You're quite right @jonpeck. drush itself wasn't the answer. We have bitten the bullet and used Git, Jenkins, Fabric, drush provision, and drush hosting to augment Aegir and drush. I've re-framed my question and answered it here – iainH Jul 16 '15 at 9:47

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.