Web Experience Toolkit release process
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
)
- Create a new branch for the release notes (e.g.,
git checkout -b newrelease-releasenotes
) - 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.
- 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)
- Include the release date and link to the associated anchor on the download page.
- 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
- 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
- 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
- Update
site/pages/docs/versions/index-*
with the new release information. - Update the WET roadmap (
site/pages/docs/versions/rdmp-*
) to reflect the release date and the target for the next release. - Update the downloads page (
site/pages/docs/docs/versions/dwnld-*
) with an entry for the new release, including each of the additional themes. - Push the release branch to your origin and open a pull request with the changes
- Wait for the pull request to get merge before proceeding.
- Install the release script (
npm install -g wet-boew-release
) - In your project folder, run the release script (
wet-boew-release
) - In the project for every theme run the release script (
wet-boew-release
) - Do the following for the generator-wet-boew-theme repository:
- 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
) - Create a new branch (e.g.,
git checkout -b newrelease
) - Update
"version"
inpackage.json
- Commit the changes (e.g.,
git commit -m "Updated files for the v4.0.5 maintenance release"
) - Push the changes (e.g.,
git push origin newrelease
) - Create a pull request then merge it in
- Go to the project root of the main theme repository (e.g.,
wet-boew/generator-wet-boew-theme
) - Pull the latest files (e.g.,
git pull origin master
) - Tag the branch (e.g.,
git tag -a v4.0.5 -m "v4.0.5 maintenance release."
) - Push the tag (
git push --tags
)
- Create a new branch (e.g.,
git checkout -b newrelease
) - Update
"version"
inbower.json
andpackage.json
(remove"-development"
). - Commit the changes (e.g.,
git commit -m "Updated files for the v4.0.5 maintenance release"
) - Push the changes (e.g.,
git push origin newrelease
) - Create a pull request then merge it in
- Go to the project root of the main repository (
wet-boew/wet-boew
) - Pull the latest files (e.g.,
git pull origin master
) - Tag the branch (e.g.,
git tag -a v4.0.5 -m "Source files for the v4.0.5 maintenance release."
) - Push the tag (
git push --tags
) - Once the
v4.0-dist
branch ofwet-boew/wet-boew-dist
has been updated with the previous pull request, go to the project root and checkout thev4.0-dist
branch (e.g.,git checkout v4.0-dist
) - Pull the latest changes (e.g.,
pull origin v4.0-dist
) - Tag the branch (e.g.,
git tag -a v4.0.5 -m "Production files for the v4.0.5 maintenance release."
) - Push the tag (
git push --tags
) - Return to the project root of the main repository (
wet-boew/wet-boew
) - Update
"version"
inbower.json
andpackage.json
(increment version number and append"-development"
) - Commit the changes (e.g.,
git commit -m "Updated the build version to v4.0.6-development"
) - Push the changes (e.g.,
git push origin master
) - 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
- Do the following steps for each additional theme (e.g., Base theme):
- 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
) - Create a new branch (e.g.,
git checkout -b newrelease
) - Update
"version"
inbower.json
andpackage.json
(remove"-development"
). Also update"devDependencies"
-"wet-boew"
to the latest tag onwet-boew/wet-boew
(e.g.,"git://github.com/wet-boew/wet-boew.git#v4.0.5"
) - Commit the changes (e.g.,
git commit -m "Updated files for the v4.0.5 maintenance release"
) - Push the changes (e.g.,
git push origin newrelease
) - Create a pull request then merge it in
- Go to the project root of the main theme repository (e.g.,
wet-boew/theme-base
) - Pull the latest files (e.g.,
git pull origin master
) - Tag the branch (e.g.,
git tag -a v4.0.5 -m "Source files for the v4.0.5 maintenance release."
) - Push the tag (
git push --tags
) - Once the theme's branch on
wet-boew/themes-dist
has been updated with the previous pull request, go to the project rootwet-boew/themes-dist
- Checkout the theme's branch (e.g.,
git checkout theme-base
) - Pull the latest changes (e.g.,
pull origin theme-base
) - 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."
) - Push the tag (
git push --tags
) - Return to the project root of the main theme repository (e.g.,
wet-boew/theme-base
) - Update
"version"
inbower.json
andpackage.json
(increment version number and append"-development"
). Also update"devDependencies"
-"wet-boew"
to"https://github.com/wet-boew/wet-boew.git#master"
- Commit the changes (e.g.,
git commit -m "Updated the build version to v4.0.6-development"
) - Push the changes (e.g.,
git push origin master
) - 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
- Do the following for the
generator-wet-boew-theme
repository: - Go to the project root in your fork for the
generator-wet-boew-theme
(e.g.,myname/generator-wet-boew-theme
) - Clone (
git clone https://github.com/myname/generator-wet-boew-theme.git
) - Create
upstream
remote (e.g.git remote add upstream https://github.com/wet-boew/generator-wet-boew-theme.git
) - Pull the latest files (e.g.,
git pull upstream master
) - Create a new branch (e.g.,
git checkout -b newrelease
) - Update
"version"
inpackage.json
- Commit the changes (e.g.,
git commit -am "Updated files for the v4.0.5 maintenance release"
) - Push the changes (e.g.,
git push origin newrelease
) - Create a pull request then merge it in
- Go to the project root of the main theme repository (e.g.,
wet-boew/generator-wet-boew-theme
) - Checkout the
master
branch (git checkout master
) - Pull the latest files (e.g.,
git pull upstream master
) - Tag the branch (e.g.,
git tag -a v4.0.5 -m "v4.0.5 maintenance release."
) - Push the tag (
git push upstream --tags
)
These steps finalize the release process
-
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).
-
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)
-
Go to the list of releases for the core repo and select
Edit
on the previous release. Copy the content of the release -
Go back to the list of release and click the
Draft a new release
button. -
For the
Tag version
andRelease 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. -
Attach the downloaded package for the release and select Publish Release
For each themes, follow the following instructions.
-
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).
-
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)
-
Go to the list of releases for the theme repo and select
Edit
on the previous release. Copy the content of the release -
Go back to the list of release and click the
Draft a new release
button. -
For the
Tag version
andRelease 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. -
Attach the downloaded dist and cdn package for the release and select Publish Release