Skip to content

Commit

Permalink
Checking for config prior to import. (#1275)
Browse files Browse the repository at this point in the history
* Removing core config when testing features import internally.

* Checking for config prior to import.

* Making config split default again.

* Removing config split enable from testing.

* Testing config_split last so it deploys to sandbox.

* Fixing file check.

* Clear caches after enabling config_split.

* Enabling config split in ci testing.
  • Loading branch information
grasmash authored Mar 31, 2017
1 parent 28ead1b commit fe611f8
Show file tree
Hide file tree
Showing 3 changed files with 45 additions and 24 deletions.
2 changes: 1 addition & 1 deletion phing/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ composer:

cm:
# Possible values: core-only, config-split, features, none.
strategy: none
strategy: config-split
core:
# The parent directory for configuration directories.
path: ${repo.root}/config
Expand Down
49 changes: 32 additions & 17 deletions phing/tasks/setup.xml
Original file line number Diff line number Diff line change
Expand Up @@ -228,31 +228,46 @@
</target>

<target name="setup:config-import:core-only">
<drush command="config-import" assume="yes" alias="${drush.alias}" passthru="false">
<param>${cm.core.key}</param>
</drush>

<if>
<available file="${cm.core.dirs.${cm.core.key}.path}/core.extension.yml"/>
<then>
<drush command="config-import" assume="yes" alias="${drush.alias}" passthru="false">
<param>${cm.core.key}</param>
</drush>
</then>
</if>

</target>

<target name="setup:config-import:config-split">
<drush command="en" assume="yes" alias="${drush.alias}" passthru="false">
<param>config_split</param>
</drush>

<!-- Only import config if it exists. -->
<if>
<and>
<isset property="env.AH_SITE_ENVIRONMENT"/>
<available file="${cm.core.path}/${env.AH_SITE_ENVIRONMENT}"/>
</and>
<available file="${cm.core.dirs.${cm.core.key}.path}/core.extension.yml"/>
<then>
<drush command="config-import" assume="yes" alias="${drush.alias}">
<!-- Cloud environments require vcs parameter. -->
<param>vcs</param>

<drush command="en" assume="yes" alias="${drush.alias}" passthru="false">
<param>config_split</param>
</drush>

<!-- Only import config if it exists. -->
<if>
<and>
<isset property="env.AH_SITE_ENVIRONMENT"/>
<available file="${cm.core.path}/${env.AH_SITE_ENVIRONMENT}"/>
</and>
<then>
<drush command="config-import" assume="yes" alias="${drush.alias}">
<!-- Cloud environments require vcs parameter. -->
<param>vcs</param>
</drush>
</then>
<else>
<drush command="config-import" assume="yes" alias="${drush.alias}"></drush>
</else>
</if>

</then>
<else>
<drush command="config-import" assume="yes" alias="${drush.alias}"></drush>
</else>
</if>

</target>
Expand Down
18 changes: 12 additions & 6 deletions scripts/travis/run_tests
Original file line number Diff line number Diff line change
Expand Up @@ -5,24 +5,30 @@ set -ev
source ${BLT_DIR}/scripts/blt/ci/shared/run_tests

# Build codebase, validate, install Drupal, run basic tests.
yaml-cli update:value blt/project.yml cm.strategy none
blt ci:build:validate:test -Dcreate_alias=false -Dbehat.run-server=true -Dblt.verbose=true
drush config-export --root=docroot -y

# Test config split.
mv ${BLT_DIR}/scripts/blt/ci/internal/config_split.config_split.ci.yml config/default/
drush en config_split --root=docroot -y
blt setup:config-import
drush pm-uninstall config_split --root=docroot -y

# Test core-only config management.
yaml-cli update:value blt/project.yml cm.strategy core-only
drush config-export --root=docroot -y
blt setup:config-import

# Test features config management.
yaml-cli update:value blt/project.yml cm.strategy features
rm -rf config/default/*
drush en features --root=docroot -y
drush config-export --root=docroot -y
blt setup:config-import
drush pm-uninstall features --root=docroot -y

# Test config split.
yaml-cli update:value blt/project.yml cm.strategy config-split
drush en config_split --root=docroot -y
drush config-export --root=docroot -y
mv ${BLT_DIR}/scripts/blt/ci/internal/config_split.config_split.ci.yml config/default/
blt setup:config-import
drush pm-uninstall config_split --root=docroot -y

# Run the doctor.
blt doctor
Expand Down

0 comments on commit fe611f8

Please sign in to comment.