-
Notifications
You must be signed in to change notification settings - Fork 5.3k
Release process
Make sure AUTHORS.txt is up-to-date. Run this to update the file:
grunt update-authorsClone jquery-release, cd inside and run the script:
node release.js --remote=jquery/jquery-uiBefore push the tag, check a few files:
-
dist/cdn, should have a regular and a min js file, along with all themes -
themes/andui/should have@VERSIONreplaced - added or updated version property in
bower.jsonandpackage.json
To test the release process (it changes all the time), run the script against a fork of jquery-ui. See the jquery-release documentation for full details.
If you screw up, and you even pushed the tag or the main branch, delete the tag before anyone gets a chance to pull it and revert the main commit.
For a pre-release, run node release --pre-release={version}.
- The only CDN that gets updated is the jQuery CDN (automated).
- The first pre-release will require creating a new versioned site for
api.jqueryui.com.- All pre-releases require updating the CDN version for the API demos.
- jqueryui.com will continue to run demos from the current stable version.
- Skip notifying other projects.
The release script generates a shell for the changelog along with a dump of all commits and closed tickets. Finalize the changelog, by looking for all remaining __TICKETREF__ entries, and either fixing the missing reference, deleting the placeholder but keeping the line, or deleting the entire line. Then add it to the jqueryui.com repo:
- Add
page/changelog/{version}.md. - Modify
page/changelog.mdto include a link to the new changelog.
If this is a major release, create an upgrade guide.
- Add
page/upgrade-guide/{version}.md. - Modify
page/upgrade-guide.mdto include a link to the new upgrade guide.
If this is a stable release, close the relevant milestone on GitHub.
Create a milestone for the next release if it doesn't exist yet.
Nothing to do here, all automated. Just check that the new release is on code.jquery.com.
- Email Google and attach zip.
- Use CDN upload tool and email Microsoft.
- Update
config.jsonto include the new version. Update the jQuery version if necessary. - Add/update
template/zip/index-*.htmlto include any new widgets - Commit
- Run
npm version patchandnpm publish - Push
mainto GitHub (don't push the tag).
- Update changelog and upgrade guide (see above).
- Update homepage versions and links.
- Update version and supported browsers on browser-support page.
- Add pages for any new widgets (and add it to the demos index, if still necessary).
- Update
page/download/all.mdto include the new release. - Update package.json with new
download.jqueryui.comversion. npm install- Add code and theme zips to
/resources/download/- Run
grunt build-download create-quickdownload(see #9743). - Then add the new zip files,
git addthem.
- Run
- Commit and push to GitHub.
- If necessary, create a new
x-xbranch. To get it deployed:- Add to
sites.phpinjquery-wp-content - Update infrastructure
manifests/nodes/builder.pp, pushpuppet-stageto GitHub - Run puppet on jq01 and jq02 stage to test, afterwards next commit will deploy content
- Add to
- If available, merge the
x-xbranch with updates for the new version into master. - Update versions in other files: Search for the previous version number and update all references.
- Commit and push to GitHub.
- Update
themes/api.jqueryui.com/functions.phpto include the new version - If necessary, updated
sites.php(see above) - Commit and push to GitHub.
If any of these fail, try ssh builder-01.ops.jquery.net and look into /usr/local/wordpress-repos/ or /var/www/download.jqueryui.com
- Review everything on stage.
- If there was a infrastructure change, merge puppet-stage to
puppet-master. - Push the previously create tag for
download.jqueryui.comto GitHub. - Tag
jqueryui.comand push to GitHub. - Tag
api.jqueryui.comand push to GitHub. - Tag
jquery-wp-contentand push to GitHub. - Verify results on live server.
See previous blog post for outline. Pick the right one for major/minor releases.
- Use the generated
contributorsfile for the list of people to thank. Remove duplicates (mostly username vs full name). Use this to generated comma-separated list:
ruby -e 'puts File.read("contributors.txt").split("\n").join(", ")' | pbcopy- Search for the previous version number and update all references.
- Reference the right upgrade guide and changelog.
- Update the narrative parts, usually the first paragraph.
- Save draft, check all links, have someone review it.
- Publish!
Look at previous release tweets for references. Don't get too creative.