Skip to content

Web Experience Toolkit release process

Laurent Goderre edited this page Feb 22, 2017 · 41 revisions

v4.0

Before starting, go to the project root in your fork (e.g., myname/wet-boew) and pull the latest files (e.g., git pull upstream master)

Release Notes and Documentation

  1. Create a new branch for the release notes (e.g., git checkout -b newrelease-releasenotes)
  2. Build the release notes for the version in docs/versions/vX.X (e.g., docs/versions/v4.0). Highlight any important changes, especially any breaking changes.
  3. Copy the release notes form the previous version as a starting point (e.g., docs/versions/v4.0/v4.0.4-en.html and docs/versions/v4.0/v4.0.4-fr.html)
  4. Include the release date and link to the associated anchor on the download page.
  5. Include the number of commits per author since the last tag and add to the release notes
    git shortlog -s -n --no-merges v4.0.4.. > log.log
  6. Generate the list of commits since the last tag
    git log v4.0.4.. "--pretty=format:<li><a href=\"https://github.com/wet-boew/wet-boew/commit/%h\">%s</a> - %an, %ci</li>" --reverse --no-merges > changelog.log
  7. Update the changelog for the branch (e.g., docs/versions/v4.0/v4.0-changelog-*.html) with the highlights for the new release, including breaking changes
  8. Update site/pages/docs/versions/index-* with the new release information.
  9. Update the WET roadmap (site/pages/docs/versions/rdmp-*) to reflect the release date and the target for the next release.
  10. Update the downloads page (site/pages/docs/docs/versions/dwnld-*) with an entry for the new release, including each of the additional themes.
  11. Push the release branch to your origin and open a pull request with the changes
  12. Wait for the pull request to get merge before proceeding.

Automated Release Process

  1. Install the release script (npm install -g wet-boew-release)
  2. In your project folder, run the release script (wet-boew-release)
  3. In the project for every theme run the release script (wet-boew-release)
  4. Do the following for the generator-wet-boew-theme repository:
  5. Go to the project root in your fork for the generator-wet-boew-theme (e.g., myname/generator-wet-boew-theme) and pull the latest files (e.g., git pull upstream master)
  6. Create a new branch (e.g., git checkout -b newrelease)
  7. Update "version" in package.json
  8. Commit the changes (e.g., git commit -m "Updated files for the v4.0.5 maintenance release")
  9. Push the changes (e.g., git push origin newrelease)
  10. Create a pull request then merge it in
  11. Go to the project root of the main theme repository (e.g., wet-boew/generator-wet-boew-theme)
  12. Pull the latest files (e.g., git pull origin master)
  13. Tag the branch (e.g., git tag -a v4.0.5 -m "v4.0.5 maintenance release.")
  14. Push the tag (git push --tags)

Alternate (Manual) Release Process

  1. Create a new branch (e.g., git checkout -b newrelease)
  2. Update "version" in bower.json and package.json (remove "-development").
  3. Commit the changes (e.g., git commit -m "Updated files for the v4.0.5 maintenance release")
  4. Push the changes (e.g., git push origin newrelease)
  5. Create a pull request then merge it in
  6. Go to the project root of the main repository (wet-boew/wet-boew)
  7. Pull the latest files (e.g., git pull origin master)
  8. Tag the branch (e.g., git tag -a v4.0.5 -m "Source files for the v4.0.5 maintenance release.")
  9. Push the tag (git push --tags)
  10. Once the v4.0-dist branch of wet-boew/wet-boew-dist has been updated with the previous pull request, go to the project root and checkout the v4.0-dist branch (e.g., git checkout v4.0-dist)
  11. Pull the latest changes (e.g., pull origin v4.0-dist)
  12. Tag the branch (e.g., git tag -a v4.0.5 -m "Production files for the v4.0.5 maintenance release.")
  13. Push the tag (git push --tags)
  14. Return to the project root of the main repository (wet-boew/wet-boew)
  15. Update "version" in bower.json and package.json (increment version number and append "-development")
  16. Commit the changes (e.g., git commit -m "Updated the build version to v4.0.6-development")
  17. Push the changes (e.g., git push origin master)
  18. Update the tag for the release on the releases tab with an upload of the production files and the following links:
  • v4.0.5 release notes
  • v4.0 changelog
  1. Do the following steps for each additional theme (e.g., Base theme):
  2. Go to the project root in your fork for the theme (e.g., myname/theme-base) and pull the latest files (e.g., git pull upstream master)
  3. Create a new branch (e.g., git checkout -b newrelease)
  4. Update "version" in bower.json and package.json (remove "-development"). Also update "devDependencies" - "wet-boew" to the latest tag on wet-boew/wet-boew (e.g., "git://github.com/wet-boew/wet-boew.git#v4.0.5")
  5. Commit the changes (e.g., git commit -m "Updated files for the v4.0.5 maintenance release")
  6. Push the changes (e.g., git push origin newrelease)
  7. Create a pull request then merge it in
  8. Go to the project root of the main theme repository (e.g., wet-boew/theme-base)
  9. Pull the latest files (e.g., git pull origin master)
  10. Tag the branch (e.g., git tag -a v4.0.5 -m "Source files for the v4.0.5 maintenance release.")
  11. Push the tag (git push --tags)
  12. Once the theme's branch on wet-boew/themes-dist has been updated with the previous pull request, go to the project root wet-boew/themes-dist
  13. Checkout the theme's branch (e.g., git checkout theme-base)
  14. Pull the latest changes (e.g., pull origin theme-base)
  15. Tag the branch (e.g., git tag -a v4.0.5-theme-base -m "Production files for the v4.0.5 maintenance release of the Base theme.")
  16. Push the tag (git push --tags)
  17. Return to the project root of the main theme repository (e.g., wet-boew/theme-base)
  18. Update "version" in bower.json and package.json (increment version number and append "-development"). Also update "devDependencies" - "wet-boew" to "https://github.com/wet-boew/wet-boew.git#master"
  19. Commit the changes (e.g., git commit -m "Updated the build version to v4.0.6-development")
  20. Push the changes (e.g., git push origin master)
  21. Update the tag for the release on the releases tab with an upload of the production files and the following links:
  • v4.0.5 release notes * v4.0 changelog
  1. Do the following for the generator-wet-boew-theme repository:
  2. Go to the project root in your fork for the generator-wet-boew-theme (e.g., myname/generator-wet-boew-theme)
  3. Clone (git clone https://github.com/myname/generator-wet-boew-theme.git)
  4. Create upstream remote (e.g. git remote add upstream https://github.com/wet-boew/generator-wet-boew-theme.git)
  5. Pull the latest files (e.g., git pull upstream master)
  6. Create a new branch (e.g., git checkout -b newrelease)
  7. Update "version" in package.json
  8. Commit the changes (e.g., git commit -am "Updated files for the v4.0.5 maintenance release")
  9. Push the changes (e.g., git push origin newrelease)
  10. Create a pull request then merge it in
  11. Go to the project root of the main theme repository (e.g., wet-boew/generator-wet-boew-theme)
  12. Checkout the master branch (git checkout master)
  13. Pull the latest files (e.g., git pull upstream master)
  14. Tag the branch (e.g., git tag -a v4.0.5 -m "v4.0.5 maintenance release.")
  15. Push the tag (git push upstream --tags)

GitHub Release

These steps finalize the release process

Core

  1. Go the release list on the core distribution repo and download the package for the current release (Note this may take up to half an hour for the package to get uploaded).

  2. Go to the Milestones section of the core repo and close the milestone for the release. (If there are still outstanding issues, they should be reassigned for the next version)

  3. Go to the list of releases for the core repo and select Edit on the previous release. Copy the content of the release

  4. Go back to the list of release and click the Draft a new release button.

  5. For the Tag version and Release title enter the version of the new release (ex: v4.0.4). Paste the copied release information and change all the version number references to the new release.

  6. Attach the downloaded package for the release and select Publish Release

Themes

For each themes, follow the following instructions.

  1. Go the release list on the themes distribution repo and the release list on the themes cdn repo and download the package for each theme for the current release (Note this may take up to half an hour for the packages to get uploaded).

  2. Go to the Milestones section of the theme repo (Select Milestone from the Issues page) and close the milestone for the release. (If there are still outstanding issues, they should be reassigned for the next version)

  3. Go to the list of releases for the theme repo and select Edit on the previous release. Copy the content of the release

  4. Go back to the list of release and click the Draft a new release button.

  5. For the Tag version and Release title enter the version of the new release (ex: v4.0.4). Paste the copied release information and change all the version number references to the new release.

  6. Attach the downloaded dist and cdn package for the release and select Publish Release

Clone this wiki locally