Skip to content

Releases: palantirnet/the-build

2.1.2

02 Dec 20:03
Compare
Choose a tag to compare

Changed

  • Preserve file permissions when building the artifact (#130 / #138)
  • Hide internal phing targets from phing -l, and update the default target in the build.xml template to run phing -l (#139)

2.1.1

18 Oct 19:53
Compare
Choose a tag to compare

Added

  • drupal-check is now part of the default code reviews (#133 / #129)

Fixed

  • New mysql package name in the default CircleCI configuration (#134)

Updating from 2.0

These changes affect build.xml and .circleci/config.yml, which means that in addition to updating the package itself, you will either need to re-run the-build's installer script, or apply the changes manually to your copies of those files:

2.0.1

23 May 17:14
Compare
Choose a tag to compare

Fixed

  • Fixed settings.php and environment configuration for Platform.sh (#126, #131)
  • Fixed bugs with first runs of phing acquia-get-backup (#132)
  • Removed deprecated config for testing the palantirnet/drupal-skeleton project (#128)

2.0.0

11 Jan 22:01
Compare
Choose a tag to compare

Thanks to @byrond, @jesconstantine, @froboy, @russom-woldezghi, @patrickfweston, and @gdemet for their work contributing code, reviewing changes, and squashing bugs; further thanks to @lukewertz, @deadarm, @zendoodles, @damontgomery, @rickard, @scalp8, and more for so many fruitful conversations over the life of the 1.x release, which were the fuel and inspiration for round 2.

This release has several core architectural changes:

  • Property files are now formatted as YAML
  • Default property values and full documentation are now centralized in the defaults.properties.yml file within the-build
  • Configuration for the-build is now stored in its own directory, .the-build/
  • The build, install, and test functionality is now fully enumerated in the template build.xml file that gets installed into projects, so that it's easier for developers to understand and modify these targets
  • Drupal multisite configurations are supported by default. Site-specific properties moved from drupal.* to drupal.sites.default.*, and there is now boilerplate for loading properties from one "active" site into drupal.site.*.
  • Drupal config exports have moved from conf/drupal/config/ to config/sites/default/, which also supports exporting config for multisites.
  • Default splits for the config_split module are included.
  • the-build now provides a default settings.php for Drupal, plus a host-specific settings.HOST.php, and running phing build compiles environment-specific settings to settings.build.php

Additional changes include:

  • Rewritten install process. This code is now all in one location, and configuration prompts for values that are not generally changed from the defaults have been removed. Templates for Behat and CircleCI are more dynamic, and templates for configuring Pantheon and Platform.sh hosting have been added.
  • Rewritten artifact build process. This code should now be more readable, reliable, and adaptable. Artifacts are available from the default build.xml file, and are suitable for deployment on Acquia, Pantheon, or generic hosting environments.
  • Rewritten Acquia targets, including downloading a recent database backup.
  • Applying the MIT license to the project.

Here's the list of issues associated with the 2.0 milestone.

Updating to this release from 1.x

There is no automated upgrade path for this release. However, you can remove the previous version of the-build and install this one instead -- especially if you haven't added any heavy customization to your project's build process.

  1. The install will overwrite the following files:
    • .circleci/config.yml
    • .gitignore
    • behat.yml
    • build.xml
    • web/sites/default/settings.php (if present)
    • web/sites/default/settings.acquia.php (if present)
    • web/sites/default/settings.pantheon.php (if present)
    • web/sites/default/settings.platformsh.php (if present)
    • web/sites/default/services.yml (if present)
    • web/sites/default/settings.build.php (if present)
    • web/sites/default/services.build.yml (if present)
    • drush/drushrc.php (if present)
  2. Run vendor/bin/the-build-installer
    • You must enter the URL you're already using
    • If you select the host 'acquia', your web/ directory will be moved to docroot/
    • When it offers to install Drupal for you, respond N
  3. You've installed the new version! Now, you need to reconcile your previous configurations and integrate any customizations.
  4. If the install moved your web/ directory to docroot/, go ahead and add this change to git:
    git rm -f web/
    git add docroot/
    git add composer.*
    git ci -m "Moved the Drupal root in order to match Acquia (the-build 2.0 update)"
    
  5. Move your Drupal config into the new location:
    mkdir -p config/sites
    git mv conf/drupal/config config/sites/default
    git ci -m "Moved the exported Drupal config (the-build 2.0 update)"
    
  6. Review and re-incorporate customizations you had made to the following files:
    • .circleci/config.yml
    • .gitignore
    • behat.yml
    • build.xml
    • conf/build.*.properties --> .the-build/build.*.yml (see docs/configuration.md)
    • conf/drupal/services.yml --> .the-build/drupal/services.build.yml
    • conf/drupal/settings.php --> .the-build/drupal/settings.build.php
    • conf/drupal/settings.acquia.php --> .the-build/drupal/settings.build-acquia.php + docroot/sites/default/settings.acquia.php
    • conf/drushrc.php --> drush/drushrc.php
  7. If you're using artifact-based deployment, review the documentation at docs/artifacts.md
  8. If you're using Drupal multisites, review the documentation at docs/drupal_multisite.md
  9. Test with phing install, phing test

2.0.0-beta1

09 Jan 23:24
afd5d97
Compare
Choose a tag to compare
2.0.0-beta1 Pre-release
Pre-release

This is the first beta release of the-build 2.0, and represents the full functionality planned for the 2.0 release. Bugfixes and minor feature tweaks may be made before the release.

Changes since 2.0.0-alpha3

  • Documentation on running the-build for development (#118/#114)
  • Fix updated Platform.sh settings source URL (#122)
  • Default setup for config_split module (#119/#112)
  • Style Guide build commands (#117/#106/#93)
  • Rearrange the defaults/templates directory (again) (#120)

If you've been using 2.0.0-alpha3, you will need to reinstall the-build to take full advantage of some of these changes.

2.0.0-alpha3

20 Nov 20:54
f61745b
Compare
Choose a tag to compare
2.0.0-alpha3 Pre-release
Pre-release

This is an alpha release of the-build 2.0 and is not expected to be fully functional. Some architecture may change before the 2.0 release.

Changes since 2.0.0-alpha2

  • Drupal development configuration (#107)
  • Changed composer usage in the artifact build (#110)
  • Added a new default target to build.xml to automatically fix coding standard violations (#113)
  • Allow pushing, keeping, or discarding the artifact when it is built (#115)
  • Download the most recent Acquia backup (#111)
  • Create a drush alias for the site, and add new aliases when multisites are added (#116)
  • Misc. bug fixes

If you've been using 2.0.0-alpha2, you will need to reinstall the-build to take full advantage of some of these changes.

2.0.0-alpha2

17 Oct 18:55
4a1f93d
Compare
Choose a tag to compare
2.0.0-alpha2 Pre-release
Pre-release

This is an alpha release of the-build 2.0 and is not expected to be fully functional. Note that this is entirely unrelated to the 2.0.0-alpha1 tag.

Architectural changes

  • Property files are now formatted as YAML
  • Default property values and full documentation are now centralized in the defaults.properties.yml file within the-build
  • Configuration for the-build is now stored in its own directory, .the-build/
  • The build, install, and test functionality is now fully exposed in the template build.xml file that gets installed into projects, so that it's easier for developers to understand and modify these targets
  • Drupal multisite configurations are supported by the property structure. This means that site-specific properties moved from drupal.* to drupal.sites.default.*, and there is now boilerplate for loading properties from one "active" site into drupal.site.*.
  • Drupal config exports have moved from conf/drupal/config/ to config/sites/default/, which also supports exporting config for multisites.
  • the-build now provides a default settings.php for Drupal, plus a host-specific settings.HOST.php, and running phing build compiles environment-specific settings to settings.build.php

Other functionality changes

  • Rewritten install process. This code is now all in one location, and configuration prompts for values that are not generally changed from the defaults have been removed. Templates for Behat and CircleCI are more dynamic, and templates for configuring Pantheon and Platform.sh hosting have been added.
  • Rewritten artifact build process. This code should now be more readable, reliable, and adaptable. Artifacts are available from the default build.xml file, and are suitable for deployment on Acquia, Pantheon, or generic hosting environments.

Upgrading to this release

There is no automated upgrade path for this release. However, you can remove the previous version of the-build and install this one instead -- especially if you haven't added any heavy customization to your project's build.xml file.

  1. The install will overwrite the following files:
    • .circleci/config.yml
    • .gitignore
    • behat.yml
    • build.xml
    • web/sites/default/settings.php (if present)
    • web/sites/default/settings.acquia.php (if present)
    • web/sites/default/settings.pantheon.php (if present)
    • web/sites/default/settings.platformsh.php (if present)
    • web/sites/default/services.yml (if present)
    • web/sites/default/settings.build.php (if present)
    • web/sites/default/services.build.yml (if present)
    • drush/drushrc.php (if present)
  2. Run vendor/bin/the-build-installer
    • You must enter the URL you're already using
    • If you select the host 'acquia', your web/ directory will be moved to docroot/
    • When it offers to install Drupal for you, respond N
  3. You've installed the new version! Now, you need to reconcile your previous configurations and integrate any customizations.
  4. If the install moved your web/ directory to docroot/, go ahead and add this change to git:
    git rm -f web/
    git add docroot/
    git add composer.*
    git ci -m "Moved the Drupal root in order to match Acquia (the-build 2.0 update)"
    
  5. Move your Drupal config into the new location:
    mkdir -p config/sites
    git mv conf/drupal/config config/sites/default
    git ci -m "Moved the exported Drupal config (the-build 2.0 update)"
    
  6. Review and re-incorporate customizations you had made to the following files:
    • .circleci/config.yml
    • .gitignore
    • behat.yml
    • build.xml
    • conf/build.*.properties --> .the-build/build.*.properties.yml (see docs/configuration.md)
    • conf/drupal/services.yml --> .the-build/drupal.services.yml
    • conf/drupal/settings.php --> .the-build/drupal.settings.build.php
    • conf/drupal/settings.acquia.php --> docroot/sites/default/settings.acquia.php
    • conf/drushrc.php --> drush/drushrc.php
  7. If you're using artifact-based deployment, review the documentation at docs/artifacts.md
  8. If you're using Drupal multisite, review the documentation at docs/drupal_multisite.md
  9. Test with phing install, phing test

1.8.0

11 Oct 16:23
2582ec3
Compare
Choose a tag to compare

Changes

  • Deprecated the drupal.modules_enable property (#94 + 70958c)
  • Update name of drush aliases directory downloaded from Acquia (#90 / #101)
  • Tuned the CircleCI config based on the 2.0 API update process

Updating from 1.7.0

  • If you are using the drupal.modules_enable property or the drupal-enable-module target, these will no longer work

These changes may be applied manually to the configuration within your project, if you like:

  • You can manually apply drush alias directory name change from #101 to your project's conf/drushrc.php
  • There may be changes in this release's .circleci/config.yml that you can adapt to your project

1.7.0

16 Apr 20:14
7a99d4b
Compare
Choose a tag to compare

Provide CircleCI 2.0 configuration.

1.6.0

16 Apr 20:05
Compare
Choose a tag to compare

Update the circle.yml to use PHP 7.