You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-commits@lucene.apache.org by Apache Wiki <wi...@apache.org> on 2012/07/03 10:20:42 UTC

[Lucene-java Wiki] Update of "ReleaseTodo" by SteveRowe

Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Lucene-java Wiki" for change notification.

The "ReleaseTodo" page has been changed by SteveRowe:
http://wiki.apache.org/lucene-java/ReleaseTodo?action=diff&rev1=125&rev2=126

Comment:
Updated section on website update & announcing, mostly to include info about the CMS extpaths.txt facility

  
  = Pushing website changes & Announcing =
  
- /!\ needs heavy updating to reflect new CMS based website /!\
+ == Website += javadocs ==
+ The problem: Lucene's and Solr's voluminous per-release javadocs break the standard CMS process for the website (i.e., committer commits to the source tree; the CMS buildbot generates the site, then commits to the staging tree; committer reviews and then publishes to the production tree), because dynamic website updates, currently scheduled at 21 minutes after the hour on the hour, interrupt the extremely long commit times for javadocs being staged by buildbot, resulting in failed commits, caused by conflicts with the dynamic updates: by the time the buildbot-triggered commit has finished, its svn tree has been rendered stale.
  
+ The solution: skip committing javadocs to the source tree, then staging, then publishing, and instead commit javadocs directly to the production tree.  Ordinarily this would be problematic, because the CMS wants to keep the production tree in sync with the staging tree, so anything it finds  in the production tree that's not in the staging tree gets nuked.  However, the CMS has a built-in mechanism to allow exceptions to the keep-production-in-sync-with-staging rule: {{{extpaths.txt}}}.
  
- /!\ BEGIN this info is all out of date /!\
+ {{{extpaths.txt}}} lists paths in the production tree, relative to the project website's root directory, that are allowed to be out of sync with the staging tree.
  
+ For more info, see the following sections in the [[http://www.apache.org/dev/cmsref|Apache CMS Reference]]:
+  * [[http://www.apache.org/dev/cmsref#extpaths|What is extpaths.txt?]]
+  * [[http://www.apache.org/dev/cmsref#generated-docs|How do I publish generated docs (eg. doxygen)?]]
+  * A worked out example: [[http://www.apache.org/dev/cmsref#mail-link|How do I make the mail archives for my TLP accessible through the /mail URL?]]
-  1. Checkout the top-level Lucene website from https://svn.apache.org/repos/asf/lucene/site. Add a new item under "News", in index.xml. Run "forrest site", confirm all looks good, then recursively copy build/site/* to publish/*, then commit the changes. Then copy publish/* to /www/lucene.apache.org/* on people.apache.org. Be sure to change the group and attributes of the copied files: {{{cd /www/lucene.apache.org/; chgrp -R lucene * ; chmod -R ug+w,o-w *}}}.
-  1. Checkout the unversioned Lucene java website from https://svn.apache.org/repos/asf/lucene/java/site. Add a new item under "Lucene News", in index.xml. Add a new entry for this release into both tabs.xml and site.xml. Run "forrest site", confirm all looks good, and recursively copy build/site/* to docs/*, then commit the changes. Copy docs/* to /www/lucene.apache.org/java/docs/ on people.apache.org. Make sure .htaccess is copied!
-  1. Copy the release specific docs from the binary release package to people.apache.org:
-  {{{
-   ssh people.apache.org
-   tar xzf lucene-X.Y.Z.tar.gz lucene-X.Y.Z/docs
-   mv lucene-X.Y.Z/docs /www/lucene.apache.org/java/X_Y_Z
-   rmdir lucene-X.Y.Z
- }}}
-  1. Make sure the group ownership on the site is 'lucene' by calling {{{chgrp -R lucene /www/lucene.apache.org/java}}}. Also make files group writable and others read-only by calling {{{chmod -R ug+w,o-w /www/lucene.apache.org/java}}}.
  
- /!\ END this info is all out of date /!\
+ == Update extpaths.txt ==
+  1. {{{svn co --depth=immediates https://svn.apache.org/repos/asf/lucene/cms/trunk/content website-source}}}
+  1. {{{cd website-source}}}
+  1. Add Lucene javadocs dir: {{{echo core/X_Y_Z >> extpaths.txt}}}
+  1. Add Solr javadocs dir: {{{echo solr/api-X_Y_Z >> extpaths.txt}}}
+  1. {{{svn commit -m "Update CMS production sync exceptions for X_Y_Z javadocs" extpaths.txt}}}
+  1. {{{cd ..}}}
+  1. {{{rm -rf website-source}}}
  
+ == Push javadocs to the CMS production tree ==
+  1. {{{svn co https://svn.apache.org/repos/infra/websites/production/lucene/content/ website-production}}}
- /!\ BEGIN vague stab at new way of doing things /!\
-  
-  1. {{{svn co https://svn.apache.org/repos/asf/lucene/cms/trunk website}}}
   1. untar the release.tgz to create releaseX_Y_Z/
-  1. {{{cp -r releaseX_Y_Z/lucene/docs website/content/core/X_Y_Z}}}
+  1. {{{cp -r releaseX_Y_Z/lucene/docs website-production/core/X_Y_Z}}}
-  1. {{{svn add content/core/X_Y_Z}}}
+  1. {{{svn add core/X_Y_Z}}}
   1. {{{svn commit # this might take some time: ~ 3 beers}}}
-  1. {{{cp -r release_X_Y_Z/solr/docs/api website/content/solr/apiX_Y_Z}}}
+  1. {{{cp -r releaseX_Y_Z/solr/docs/api website-production/solr/api-X_Y_Z}}}
-  1. {{{svn add content/solr/apiX_Y_Z}}}
+  1. {{{svn add solr/apiX_Y_Z}}}
   1. {{{svn commit # this might take some time: ~ 1 beer}}}
-  1. wait till you see 2 emails on the commits@ list saying 'Staging update by buildbot for lucene'
-  1. https://cms.apache.org/lucene/publish
-  1. confirm you can browse to these directories manually, and especially that solr javadocs link back to lucene's correctly.
+  1. Confirm you can browse to these directories manually, and especially that solr javadocs link back to lucene's correctly.
-  1. once mirrors are ready, use the bookmarklet or whatever to do the minor changes and news blurbs and stuff.
  
  For the 'cp' commands above, See also HowToGenerateNiceJavadocs if you optionally feel like making prettier javadocs.
  But don't worry about this if it seems confusing, someone else could always volunteer to do it later at any time.
  
- /!\ END vague stab at new way of doing things /!\
- 
+ == Update the rest of the website ==
+  1. Once mirrors are ready, use the bookmarklet or whatever to do the minor changes and news blurbs and stuff.
   1. update the core & solr doap.rdf files to reflect the new versions using the Apache CMS
      * https://cms.apache.org/redirect?uri=http://lucene.apache.org/core/doap.rdf
      * https://cms.apache.org/redirect?uri=http://lucene.apache.org/solr/doap.rdf
+  1. Wait for these changes to appear on Apache's main webserver (http://lucene.apache.org) before doing the next steps (see http://www.apache.org/dev/project-site.html for details on how the site is mirrored to Apache's main web servers). Once they appear, verify all links are correct in your changes!
  
-  1. Wait for these changes to appear on Apache's main webserver (http://lucene.apache.org) before doing the next steps (see http://www.apache.org/dev/project-site.html for details on how the site is mirrored to Apache's main web servers). Once they appear, verify all links are correct in your changes!
+ == Announce the release ==
   1. Add the new version to Wikipedia (english and maybe your own language)
   1. Announce the release on general@lucene.apache.org , dev@lucene.apache.org , java-user@lucene.apache.org and announce@apache.org mailing lists. A draft should be sent to the development list first to clarify any possible issues in the announcement.  Make sure the announcement has a brief blurb at the top saying what Lucene is (it will save you several snarky comments in reply.) Mails to the announce list should be sent from an @apache.org email address and contain a signature.  Release announcements can be shared/edited in https://svn.apache.org/repos/asf/lucene/dev/misc/announcements.
+ 
+ == Update JIRA ==
   1. Go to the JIRA "Manage Versions" Administration page (http://issues.apache.org/jira/secure/project/ManageVersions.jspa?pid=12310110) and click Release for the version you just released. Also add a new (unreleased) version for the next release on the trunk (for a major release) or branch (for a minor release).
   1. Go to JIRA and find all issues that were fixed in the release you just made, whose Status is Resolved, and do a bulk change to close all of these issues. Uncheck the box that says "send an email for these changes".