Skip to content

Releases: phase2/generator-outrigger-drupal

v4.0.0 (October 12, 2017)

12 Oct 20:39
Compare
Choose a tag to compare

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. Use drush @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

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 with useCloud.
  • 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)

18 Jul 17:47
Compare
Choose a tag to compare
  • 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)

23 Jun 16:44
Compare
Choose a tag to compare
  • 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)

19 Jun 18:08
Compare
Choose a tag to compare
  • 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"

08 Jun 16:59
Compare
Choose a tag to compare

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"

05 Jun 23:51
Compare
Choose a tag to compare

Renamed to generator-outrigger-drupal, or "Outrigger Drupal" as a human-readable name.

v3.0.0 "The Unification"

05 Jun 20:42
Compare
Choose a tag to compare

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 with docker-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
    and docker ps --filter "label=outrigger.project=<projectName>" -a -q | xargs docker stop
    to halt all of them. This is more comprehensive than a single docker-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.