sakai-2.8.3 release

Tracked against:  SAK-23179 - Getting issue details... STATUS

Command quick ref:

svn commit -m "SAK-23179 update purepoms parent to 2.8.7"

mvn2 release:prepare -DdryRun=true

mvn2 release:clean release:prepare release:perform

 

1. Release indies in this order
Ensure the versions for the dependencies noted for each project have been adjusted, the project builds, and the mods committed, before attempting release
  1. kernel
  2. purepoms - Bump dependency versions (kernel, eb, common, edu-services) in all poms, commit and release project as a whole.
  3. entity broker - bind to new purepoms, commit and release
  4. content-review -  bind to new purepoms, commit and release
  5. emailtemplateservice - bind to new purepoms, commit and release
  6. common - bind to new purepoms, commit and release
  7. edu-services -  bind to new purepoms, commit and release
  8. jsf - bind to new purepoms, commit and release
  9. sakai-mock - bind to new purepoms, commit and release
  10. shortenedurl - bind to new purepoms, commit and release
  11. web services - bind to new purepoms, commit and release
  12. search - bind to new purepoms, commit and release
  13. basic lti - bind to new purepoms, commit and release
  14. polls - bind to new purepoms & ets & eb, commit and release
  15. reset-pass - bind to new purepoms & ets & eb, commit and release
  16. profile - bind to new purepoms & jsf, commit and release
  17. job scheduler - bind to new purepoms & jsf, commit and release
  18. profile2 - bind to new purepoms & ets & eb & common & search, commit and release
  19. sitestats - bind to new purepoms & mock & scheduler, commit and release
  20. msgcntr - bind to new purepoms & jsf & scheduler & search, commit and release
  21. hybrid - bind to new purepoms & msgcntr, commit and release
  22. samigo - bind to new purepoms &common & edu-services & jsf, commit and release with -P jarsign:
    mvn2 release:clean release:prepare release:perform -P jarsign -Dsakai.samigo-audio.jarsign.keystore.location=/path/to/sakai.keystore -Dsakai.samigo-audio.jarsign.alias=ALIAS -Dsakai.samigo-audio.jarsign.password=PASSWORD
2. Download and check samigo audio jar for signature
jarsigner -verify samigo-audio-2.8.6.jar
3. Update JIRA versions

Add a new version for each of the projects and release the current version.

4. Update 2.8.x /master/pom.xml with the new version properties for indies:
<sakai.kernel.version>1.2.9</sakai.kernel.version>
<sakai.basiclti.version>1.3.6</sakai.basiclti.version>
<sakai.common.version>1.1.8</sakai.common.version>
<sakai.contentreview.version>2.8.8</sakai.contentreview.version>
<sakai.edu-services.version>1.1.7</sakai.edu-services.version>
<sakai.ets.version>0.5.7</sakai.ets.version>
<sakai.entitybroker.version>1.4.6</sakai.entitybroker.version>
<sakai.hybrid.version>1.1.8</sakai.hybrid.version>
<sakai.jsf.version>2.8.5</sakai.jsf.version>
<sakai.msgcntr.version>2.8.4</sakai.msgcntr.version>
<sakai.polls.version>1.4.5</sakai.polls.version>
<sakai.profile.version>2.8.5</sakai.profile.version>
<sakai.profile2.version>1.4.11</sakai.profile2.version>
<sakai.resetpass.version>2.8.7</sakai.resetpass.version>
<sakai.sakai-mock.version>2.8.5</sakai.sakai-mock.version>
<sakai.samigo.version>2.8.6</sakai.samigo.version>
<sakai.scheduler.version>2.8.4</sakai.scheduler.version>
<sakai.search.version>1.3.7</sakai.search.version>
<sakai.shortenedurl.version>1.0.6</sakai.shortenedurl.version>
<sakai.sitestats.version>2.2.4</sakai.sitestats.version>
<sakai.webservices.version>1.0.5</sakai.webservices.version>
5. Review conversion scripts

Review sql conversion scripts in reference/docs/conversion, update and commit as necessary.

6. Make modifications in a release branch, in preparation for tagging
6a. Create release branch for all non-indie modules:

release-branches.txt

6b. Checkout the 'sakai' module of the release branch, ignoring externals:
svn co https://source.sakaiproject.org/svn/sakai/branches/sakai-2.8.3-release/ --ignore-externals
6c. Edit .externals to point to release branch versions, set property and commit:
svn propset svn:externals -F .externals .
svn propget svn:externals
svn commit -m "SAK-23179 updated externals for release branch"
6d. Do an svn update so that the correct externals are fetched:
svn up 
6e. Update all Sakai non-indie pom.xml <version> values to 2.8.3 and commit:
find . -name "pom.xml" -print | xargs sed -i "" 's/2.8-SNAPSHOT/2.8.3/g'
6f. Disable snapshot repo in master/pom.xml
<repository>
<id>sakai-maven2-snapshots</id>
<name>Sakai Maven Repo</name>
<layout>default</layout>
<url>http://source.sakaiproject.org/maven2-snapshots</url>
<snapshots>
  <enabled>false</enabled>
</snapshots>
</repository>
7. Adjust sakai.properties: default, demo, sample

config/configuration/bundles/src/bundle/org/sakaiproject/config/bundle/

7a. Version
version.service=RELEASE
version.sakai=2.8.3

version.kernel=1.2.9
version.service=DEMO
version.sakai=2.8.3

version.kernel=1.2.9
version.service=SAMPLE
version.sakai=2.8.3

version.kernel=1.2.9
7b. Stealth settings

Stealth the following tools in both release and demo:

Release

# STEALTH TOOLS  
# A stealth tool is a tool that is running in Sakai but is not available to be added to a site in Worksite Setup.
# For Development/QA purposes stealthTools property will be commented out; release artifacts will have the property uncommented.
stealthTools@org.sakaiproject.tool.api.ActiveToolManager=sakai.profile

Demo

# STEALTH TOOLS.  A stealth tool is a tool that is running in Sakai, but is not available to be added to a site in Worksite Setup.
stealthTools@org.sakaiproject.tool.api.ActiveToolManager=sakai.profile,sakai.search

Check in all mods to the release branch.

8. Build the release branch and test it

Clean repo

9. Update .externals to point to release TAG versions, set property and commit:
svn up
edit .externals
svn propset svn:externals -F .externals .
svn propget svn:externals
svn commit -m "SAK-23179 updated externals ready for tagging"
10. Create release tag for all non-indie modules:

This was previously performed by a script, but can just as easily be done via some svn copy commands, assuming the code is all in place.

release-tags.txt

11. Check out and build the release

Clean repo.

 

svn co https://source.sakaiproject.org/svn/sakai/tags/sakai-2.8.3/

mvn2 clean install sakai:deploy
12. Create javadocs

From base directory of the release:

mvn2 javadoc:aggregate 
cd target/site
zip -r sakai-javadoc-2.8.3.zip apidocs/

Upload apidocs/ directory and the .zip

13. Release binaries to Maven repo

So that other projects that depend on built artifacts can locate them, they need to be released to the Maven repo:

mvn2 clean install deploy
14. Update release pages

On source.sakaiproject.org, copy the release/2.8.3 directory and edit as required.

Edit the 2.8 release notes pages as required: Sakai CLE 2.8 release notes

Make sure that external links to Confluence release pages are updated.