-
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-authors
Clone jquery-release, cd inside and run the script:
node release.js --remote=jquery/jquery-ui
Before push the tag, check a few files:
- dist/cdn, should have a regular and a min js file, along with all themes
- themes/ and ui/ should have @VERSION replaced
- added or updated version property in bower.json and package.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 master commit, delete the tag before anyone gets a chance to pull it and revert the master 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.md
to include a link to the new changelog.
If this is a major release, create an upgrade guide.
1.Add page/upgrade-guide/{version}.md
.
2.Modify page/upgrade-guide.md
to include a link to the new upgrade guide.
Set the release date for the new version.
Create a version for the next release if it doesn't exist yet.
Edit Trac homepage to link to reports for next version: http://bugs.jqueryui.com/wiki/WikiStart?action=edit
Nothing to do here, all automated. Just check that the new release is on code.jquery.com.
1.Email Google and attach zip.
1.Use CDN upload tool and email Microsoft.
1.Update config.json
to include the new version. Update the jQuery version if necessary.
2.Add/update template/zip/index-*.html to include any new widgets
3.Commit
4.Run npm version patch
and npm publish
5.Push master to GitHub (don't push the tag).
1.Update changelog and upgrade guide (see above).
2.Update homepage versions and links.
3.Update version and supported browsers on browser-support page
4.Add pages for any new widgets (and add it to the demos index, if still necessary)
5.Update page/download/all.md to include the new release
6.Update package.json with new download.jqueryui.com version
7.npm install
8.Add code and theme zips to /resources/download/
1.Run grunt build-download create-quickdownload
(see #9743)
2.Then add the new zip files, git add
them
10.Commit and push to GitHub.
1.If necessary, create a new x-x branch. To get it deployed:
1.Add to sites.php in jquery-wp-content
2.Update infrastructure manifests/nodes/builder.pp
, push puppet-stage to GitHub
3.Run puppet on jq01 and jq02 stage to test, afterwards next commit will deploy content
3.If available, merge the x-x branch with updates for the new version into master. 4.Update versions in other files: Search for the previous version number and update all references. 5.Commit and push to GitHub.
1.Update themes/api.jqueryui.com/functions.php
to include the new version
2.If necessary, updated sites.php
(see above)
3.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
1.Review everything on stage. 2.If there was a infrastructure change, merge puppet-stage to puppet-master 3.Push the previously create tag for download.jqueryui.com to GitHub. 4.Tag jqueryui.com and push to GitHub. 5.Tag api.jqueryui.com and push to GitHub. 6.Tag jquery-wp-content and push to GitHub. 7.Verify results on live server.
See previous blog post for outline. Pick the right one for major/minor releases.
1.Use the generated contributors
file 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
2. Search for the previous version number and update all references.
3. Reference the right upgrade guide and changelog.
4. Update the narrative parts, usually the first paragraph.
5. Save draft, check all links, have someone review it.
6. Publish!
Look at previous release tweets for references. Don't get too creative.