Releases: phase2/generator-outrigger-drupal
v4.0.0 (October 12, 2017)
One of the big changes in this release is the removal/deprecation of the
bin/start.sh script. For a longish explanation why please check out Deprecate the start.sh script in favor of using the underlying tools #59
For more on the breaking changes associated with this release read on past the change list.
- Moved generated .outrigger.yml to outrigger.yml for improved visibility. (:environment)
- Removed start.sh script and replaced with a deprecation message. (:environment)
- Added more robust rig project scripts instead of start.sh script. (:environment)
- Added documentation to repo on generated outrigger scripts.
- Fixed composer install or composer update process does not return failure if patches fail to apply.
- Added Drush defaults such that using drush via the cli service will target the site.
(This removes the requirement to always use the alias via the cli service. Usedrush @none
to avoid Drupal bootstrap.) - Added out-of-box configuration for Xdebug via the CLI. (Ready out of box with PHPStorm configuration)
- Added validation to domain prompt to disallow capital letters. (:environment)
- Refactored all things CI or remote-host oriented to the new
cloud
sub-generator. - Added prompt to enter the remote CI host. (:cloud)
- Removed outrigger integration as optional (Jenkins integration is optional via :cloud) (:environment)
- Fixed generated grunt fetch-db task. (:environment)
- Fixed cli build service to default to use BASH. (:environment)
- Fixed --replay flag.
- Fixed Unison compatibility for bin/docker.sh. (:environment)
Technical Plumbing
- Upgraded generator-gadget to v1.2.0 (Release Notes)
Contributors
@grayside, @scottalan, @jhedstrom, @mike-potter, @febbraro, @tekante
Breaking Changes
Code Changes
To continue using the --replay flag with projects generated before v4, please make the following changes to your .yo-rc.json
file, hidden at the root of your git repo.
- Replace
useEnv
withuseCloud
. - Add
cloudHost
key set to the URL of your Docker host. (For example:ci.p2devcloud.com
)
System Requirements
Upgrade rig CLI to at least version 1.3.2 to find outrigger.yml
for rig project scripts.
v3.4.0 (July 18, 2017)
- Added display_errors by default in Drupal settings.common.php.
In non-CLI environments further enable HTML errors. - Removed unneeded
--unsafe-perm
flag from npm operations as Build container now applies that via environment variable. - Fixed Jenkins CI job using the wrong docker-compose configuration.
Project Plumbing
- Updated Chalk to v2.0.1
- Update .mailmap
v3.3.1 (June 23, 2017)
- Fixed Jenkins ci job was not properly setting the environment name.
- Fixed drush dispatch to "local" composer-installed Drush is no longer necessary, and in some cases causing duplicate command execution.
v3.3.0 (June 16 2017)
- Added PHPUnit build service container to facilitate running tests.
- Fixed Jenkins not using outrigger docker image or naming.
- Fixed Unison volume override and standardize on code volumes have no final slash.
- Fixed templating whitespace error in build.yml/build.devcloud.yml
- Fixed
rig project run:all-stop
script was totally broken.
Project Plumbing
- Added README badges to show off our hot stuff.
- Added Greenkeeper dependency update automation.
- Added Travis test automation for all branches and pull requests.
- Updated project version in README installation notes.
v3.2.0 "Rig Project Support"
Major Changes
Support for New Rig Project Commands
As of rig 1.3.0,
there is a new facility in the rig CLI to support project-specific operations.
If you opt-in to Docker environment configuration, a default .outrigger.yml
configuration file will be created. This will include various script operations
that are considered best practices for routine use.
The available scripts can be viewed from inside your generated project with
rig project
. Read more about this in the
Outrigger Documentation on Project Configuration.
Amongst other things, this replaces the previous, direct use of bin/start.sh
when setting up a project with rig project setup
. The start.sh script still
exists but in the future will be broken up into smaller pieces.
We discourage running start.sh on a regular basis, as there are more specific
commands, many of them facilitated in rig project, that will help solve daily
development tasks.
Environment Configuration
- Add a docker-compose.override.yml which will be applied automatically for local use.
This contains development-only adjustments to the docker-compose configuration.
On DevCloud you might skip this by running docker-compose.yml explicitly:
docker-compose -f docker-compose.yml up -d
. Currently the only change is for
Unison support. - Added out-of-box support for Unison-based filesystem sync of codebase. This has
dramatic performance wins. Anyone running projects on Linux will not see an
improvement, and for now might safely skip the docker-compose.override.yml file.
Other Changes
- Upgrade docker-compose.yml from schema v2.1 to schema v3.1. This will help projects
with future deployment via docker swarm. - Further "branding" cleanups from the namechange.
- Improvements in generated documentation.
v3.1.0 "The Rename"
Renamed to generator-outrigger-drupal, or "Outrigger Drupal" as a human-readable name.
v3.0.0 "The Unification"
v3.0.0 (June 2017) "The Unification"
Major Changes
New Command for Theme Support in Build Container
Added build container to run gulp in the primary theme when PLS is used.
Usage: docker-compose -f build.yml run --rm theme
. By default this runs gulp
without parameters, the equivalent of npm run start
.
View PL at http://theme.<project>.vm/pattern-lab/public
Contribution by Tanner & CJ
Merged generator-p2-env into generator-p2
New combined project contains the "master generator" as well as the environment
and infrastructure focused pieces of the generator stack.
Vary Environment Setup by Production Hosting Destination
Add hosting platform selection architecture with initial options:
- Default (Outrigger/Dev Cloud)
- Acquia Cloud
Drop docker-compose.devcloud.yml
While build.devcloud.yml is still with us, docker-compose.yml now has everything
needed for our "operational" services. On hosted environments you run as:
# Start up the operational services for the QA environment of <project>
DOCKER_ENV=qa docker-compose -p <project>_qa up -d
# Run the Build CLI for the QA environment of <project>
DOCKER_ENV=qa docker-compose -f build.devcloud.yml -p <project>_qa run --rm cli
Node Version Change
Switched to Node v6 by default instead of Node v4.
Environment Changes
Things to Actively Use or Account For
- Fixed errors where Drupal Console, Drush, and Grunt run without a further flag
or sub-command would error trying to process "bin/bash" as an argument.
(Solution by CJ) - Added
composer
as a top-level service in the build container configuration.
Use withdocker-compose -f build.yml run --rm composer <args>
- Switched Devtools mentions to Outrigger, including changing environment
variables such as $DEVTOOLS_SSH_KEY to $OUTRIGGER_SSH_KEY - Changed directory structure of volume mounts to always use
/data/<project>/<env>/
instead of/data/<project>_<env>
. We hope this streamlines cleanup work. - Add outrigger.project label to all containers, allowing commands such as:
docker ps --filter "label=outrigger.project=<projectName>" -a
to find all containers
anddocker ps --filter "label=outrigger.project=<projectName>" -a -q | xargs docker stop
to halt all of them. This is more comprehensive than a singledocker-compose ps
call.
Things to Passively Benefit From
- Minimize build.devcloud.yml and docker-compose.devcloud.yml by making the baseline
configuration a little more dynamic and using docker-compose "extends" as much
as possible. - Added permissions fix to
src/sites/default
directory to keep it write-able
after a site install. This should prevent branch-switching permissions issues.
(Remember: Fix permissions problems by running /var/www/bin/fix-perms.sh in container.) - If running grunt inside docker,
grunt git-setup
will configure your git
hooks to run via the docker build container. - Switched to use the Outrigger Docker images. (This is a minimal change.)
- Added a persistent cache for Behat/Gherkin to the build container.
- Added clarifying terminal output about the un-usefulness of
--force
in
the build process. - Centrally suppress grunt-drupal-tasks desktop notifications for build container.
- Fixed log shortcut in package.json to use docker-compose logs.
(A future release will remove this, as we do not encourage use of npm on local machine.) - Fixed echo statement in start.sh executing and failing a stray grunt command.
- Added missing newlines from the end of several echo statements in start.sh
(Contribution by Dave Murray) - Default the domain prompt to the previously confirmed projectName, rather than the
base of the current working directory (CWD). - Remove vestigial bits of Phase2 from the environment prompts.
Usage Features
- Run the generator via new Docker integration! This fixes the generator
upgrading/dependency chaos that many developers run into.
Technical Underbelly
- Merged generator-p2-env into generator-p2.
- Upgraded to Yeoman 1.x and fixed related technical debt.
- Added Longjohn for vastly easier asynchronous and templating troubleshooting.
- Further race condition squashing.