Release Instructions Checklist

agcolom edited this page Sep 23, 2014 · 33 revisions

Steps for a jQuery Mobile Release

  • Do final merges and checks
  • Update URL of demo code in:
    • docs/about/getting-started.html
    • docs/pages/page-anatomy.html there are two paragraphs in that document that need to be updated
    • docs/pages/page-template.html
    • docs/pages/multipage-template.html
  • Update docs/pages/page-anatomy.html JQM and jQuery core versions in the text paragraph
  • Update docs/about/getting-started.html JQM and jQuery core versions in the text paragraph
  • Update supported platforms in docs/about/platforms.html
  • Update version in README.md
  • Update version.txt to stable version information for this release. This is important as jquerymobile.com uses this to build the /demos/release-version and redirect both /demo and /demos to the correct area.
  • On a system with access to both CDN and jquerymobile.com, use the script "make deploy". This will build the necessary JS and CSS files (minified and full). It will copy them to the CDN. Then it will create the demos and copy that to jQueryMobile.com/demos/release-version
  • Git add version.txt and commit it
  • Git push to the master branch
  • This will trigger the jquerymobile.com/test and code.jquery.com/mobile/latest to update
  • Before or after this process, do a blog post detailing the changes
  • Change the version number and links on the homepage (intro link, linked devices, demo link)
  • Update Demos & Docs link in top nav
  • Update CDN links on Download page
  • Update version and supported browsers on Platform page
  • Make sure the ribbon for the demos with the release number displays correctly (value and format)
  • Make sure the docs footer displays correctly (value)
  • Update the page at http://code.jquery.com/ manually
  • Upload release to Microsoft CDN
  • Do pull request to update JSBIN with current release

How to release with grunt (starting at 1.4)

For 1.3.x release please refer to 1.3 Release script

This assumes that you have commit access to jquery/codeorigin.jquery.com, jquery/demos.jquerymobile.com and jquery/jquerymobile.com

  1. Adjust the version in jquery/jquery-mobile's package.json if needed
  2. clone jquery/jquery-release
  3. change directory to jquery-release
  4. node release.js --remote=jquery/jquery-mobile

New Year

When a new year comes, the following files need to be updated:

  • LICENSE-INFO.txt
  • MIT-LICENSE.txt
  • tools/log-page-events.js
  • tools/page-change-time.js
  • All the pages in the docs folder (footer)
  • Index.html (footer)

General notes for jquerymobile.com

  • /test is the latest unbuilt test files and demos. It is a git clone with one modified file in it: gitpushlatest.php. This file is altered so it just pulls the latest updates from Github
  • /githook is used to build the nightly and latest files on the CDN. It is an unaltered clone.
  • Both /githook and /test receive a post commit ping from github whenever there is a new push to the master branch.
  • /demos contains the past stable releases
  • /demos and /demo, when visited directly, will redirect to the latest stable

API docs

  • Run set-lib-versions.sh from the root of the API docs repo to update the examples and the resources to the appropriate core resp. jQM version.
  • This should update 234 files (number correct for 1.4.2 -> 1.4.3) as follows:
    • entries2html.xsl
    • entries/mobileinit.xml
    • entries/pagecontainer.xml
    • pages/tabs.html
    • resources/icons-list.html
    • resources/results.php
    • resources/confirm.html
    • resources/us.html
    • all examples in resources folder (usually resources/widget_name_or_function_name/*.html)