-
Notifications
You must be signed in to change notification settings - Fork 673
Releasing AlloyUI
This page documents the steps that need to be taken when releasing a new version of AlloyUI.
We use semver versioning on AlloyUI (MAJOR.MINOR.PATCH).
Note that when releasing master-deprecated, the deprecated suffix is used. So, when releasing a patch for master-deprecated, the counter after the deprecated suffix is the one that should be updated. For example, the next version after 3.0.3-deprecated.1 should be 3.0.3-deprecated.2. The first part of the version string will only change when master is released again, causing the counter to reset to 0. There's no need to release master every time master-deprecated is released though, releases from master-deprecated are much more frequent.
The initial steps are the same for all releases. When releasing master we also need some extra steps though:
- Update all HISTORY.md files to be ready for the next version and push the changes. While doing this, store all history entries for the past version, since they'll be used in another step. Diff Example.
- Go through all the steps explained in the section named Releasing master or master-deprecated.
- Update the github release including all HISTORY.md entries for the last version. Release example
- Run
gulp release-cdn
, which will create the version's CDN zip file. - Connect to AlloyUI's CDN server through an ftp client and copy the build folder from the zip to a new folder on the server named after the version number (for the server credentials talk to Maira).
- Update bower.json, package.json and .alloy.json files with the new version. Diff Example.
- Push the changes (either to master or master-deprecated).
- Build the project running
gulp build
. - Create a commit that includes the build folder (you'll need to pass a force flag to git for this to be done, since build is ignored by default, like this:
git add build -f
). Diff Example. - Create a tag for the next version (the tag name should be the version name).
- Push the tag (but DO NOT push the commit with the build files to master nor to master-deprecated).
- Publish to NPM by running
npm publish
for master, ornpm publish --tag deprecated
for master-deprecated (this will require publishing permissions for NPM, so if you don't have them talk to someone that does, like @mairatma or @jonmak08). - Run
gulp release
, which will create the version's zip file. - Add the generated zip file to the release in github. Release example.