Skip to content

Release process

Nathan edited this page Mar 8, 2021 · 41 revisions

Select a version number

WxT releases are numbered using a form of semantic versioning. More information can be found in https://github.com/drupalwxt/wxt/blob/8.x-2.x/VERSIONS.md.

MAJOR.FEATURE.SPRINT

In general, when preparing a release: increment the FEATURE when Drupal Core has a major release (ie. 8.5.x to 8.6.x) or Lightning's FEATURE number increments.

Otherwise, increment the SPRINT number.

Create an issue on GitHub.com

Create an issue in the wxt project on GitHub.com for release tracking, title it "Release x.x.x" (where x.x.x is the selected version number). This issue should contain the checklist available at https://github.com/drupalwxt/wxt/wiki/Release-process-(issue-template) and any other related steps or information regarding preparing the release.

Update changelog

Ensure the changelog contains an entry for the release and is updated as issues and changes are resolved (in the next steps or when committing code/changes).

Review dependent wxt modules

  1. Review contrib modules in composer.json (or in a site install; extend->update) and update as necessary.
  2. If necessary, tag wxt_library and update wxt's composer.json file
  3. If necessary, tag wxt_bootstrap and update wxt's composer.json file

All projects must be released on drupal.org (and github).

NOTE: Changes to composer.json file (specifically dev dependencies and repositories) should be mentioned in the CHANGELOG.

Drupal.org version

Drupal.org does not currently support semantic versioning. Instead, the version number on drupal.org is 8.x-X.YZZ, where:

  • X = MAJOR
  • Y = FEATURE
  • ZZ = SPRINT (two digits - add leading zero for < 10)

Check composer.json and Drupal.org makefiles

If the wxt dependent modules are updated, we need to reflect this in wxt composer.json and the CHANGELOG. Is this section still needed for the 4.x+ versions (TODO: review)? Because it doesn't update the drush make files anymore.

  • git clone https://github.com/drupalwxt/wxt.git
  • Confirm or update that it's using appropriate tags of wxt_library + wxt_bootstrap (composer.json)
  • Run composer install inside the WxT project (make files will be auto updated)
  • Revert the libraries section to the previous format and update version numbers if necessary
  • Ensure that the lightning profile is in the libraries section
  • Push to github.com and drupal.org repositories any changes
  • Ensure Travis CI build passes
  • Bulds are broken on drupal.org, if this ever gets fixed we would need to: Ensure the Drupal.org build passes

Tag WxT

GitHub.com

  • git tag MAJOR.FEATURE.SPRINT
  • git push $GITHUB_REMOTE MAJOR.FEATURE.SPRINT

Drupal.org

  • git tag 8.x-X.YZZ (see Versioning information above)
  • git push $DRUPAL_REMOTE 8.x-X.YZZ

Release

GitHub.com

  1. https://github.com/drupalwxt/wxt/tags
  2. Click ... and select create release on the tag
  3. Enter the version number in the release title
  4. Copy the changelog entry for this release into the release notes
  5. Click publish release

Drupal.org

These builds have been broken for awhile, this should probably be removed, unless they decide to fix d.o distribution builds.

  1. https://www.drupal.org/node/add/project-release/2619112
  2. Select the tag
  3. Copy/paste the following blurb into the release notes:
    <strong>CHANGELOG</strong>
    
    See the <a href="https://github.com/drupalwxt/wxt/blob/8.x-2.x/CHANGELOG.md">changelog.md</a> file.