Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "Reviews/R4E/Release Howto"

< Reviews‎ | R4E
(Create API Baseline)
Line 95: Line 95:
 
== Create API Baseline ==
 
== Create API Baseline ==
 
* ''major releases'' Create an API baseline zip
 
* ''major releases'' Create an API baseline zip
An API baseline is in essence a zip file of the release update site "plugins" folder excluding non java binaries container bundles e.g. *source, features, site and documentation folders.  
+
An API baseline is in essence a zip file of the release update site "plugins" folder excluding *source*.jar and documentation jar files.  
see an example script at  
+
 
 +
See an example script at  
 
  git repo url = http://git.eclipse.org/gitroot/mylyn/org.eclipse.mylyn.git
 
  git repo url = http://git.eclipse.org/gitroot/mylyn/org.eclipse.mylyn.git
 
  path: org.eclipse.mylyn.releng/bin/create-api-profile.sh
 
  path: org.eclipse.mylyn.releng/bin/create-api-profile.sh
  
 
Place the new API baselines at
 
Place the new API baselines at
 +
/home/data/httpd/download.eclipse.org/r4e/drops/api_baseline/
  
 
== Update Website ==
 
== Update Website ==

Revision as of 14:30, 10 January 2013

Warning2.png
Draft Content
This page is currently under construction. Community members are encouraged to maintain the page, and make sure the information is accurate.


This document is based on Mylyn Release Howto

This document is targeting minor releases but needs to be completed to cover Major releases as R4E moves out of incubation.

Before the Release

Prepare Build Environment

TBD for Major releases

Create a Branch

TBD for major releases

Prepare Source Code

Internationalize Messages

  • Run Source > Find Broken Externalized Strings over all bundles
  • Run Source > Externalize Strings over all bundles

Update User Guide

  • Adjust org.eclipse.mylyn.reviews.r4e.help/build-r4e-help.xml to set proxies as well as the plugin directory of the eclipse installation to use to find the Mylyn wikitext plug-ins
  • Run org.eclipse.mylyn.reviews.r4e.help/build-r4e-help.xml as an Ant Build
  • Review the user guide changes and then commit

Update Copyright Notices

  • Update the year in the about.ini to the current year
  • Update the year in all feature.xml files to the current year for changed features
  • Update the year in copyright notices of changed source files: Install platform releng tools, Project context menu > Fix Copyrights
  • Use the following script to find files without copyrights
#!/bin/ksh
typeset -i mCnt
for mFile in `find . -name "*.java"`
do
  mCnt=`egrep -c 'Copyright' $mFile`
  if [ $mCnt -eq 0 ]; then
       echo "found"
       echo "File = "$mFile" does not contain 'copyright'"
  fi
done

Backport changes to the Platform Specific Branches

TBD

Update Integration Repository

TBD (No subprojects under R4E)

Run Tests

TBD - As this shall be covered using a Hudson build job.

The Release

Update Targets

  • Update target files in org.eclipse.mylyn.reviews.r4e-target to point to release sites of dependencies e.g. Mylyn, Egit/Jgit to ensure builds are reproducible in the future

Build

Verify Update Site Contents

From the artifact(s) produced by the build

  • Check that only approved features are on the update site
  • Check that all Orbit bundles are tracked in r4e approved CQs

Prepare Download Area

The build job will publish the update site to "build.eclipse.org" at /shared/download-staging.priv/r4e/staging/

  • Log into buld.eclipse.org i.e. using and SFTP or SCP client (such as WinSCP, CoreFTP) in SSH mode
    • Copy the Release to /home/data/httpd/download.eclipse.org/r4e/staging
    • Test install from http://download.eclipse.org/r4e/staging/
    • Move /home/data/httpd/download.eclipse.org/r4e/updates to /home/data/httpd/download.eclipse.org/r4e/updates_prev
    • Copy the Release to /home/data/httpd/download.eclipse.org/r4e/updates
    • Copy the Release to /home/data/httpd/download.eclipse.org/r4e/drops
      Remove any preliminary integration builds if any e.g. /home/data/httpd/download.eclipse.org/r4e/drops/0.13.0.I*
    • Copy Release to archive.eclipse.org
      E.g. /home/data/httpd/archive.eclipse.org/r4e/drops/....v.../
  • Add mirror URLs
    • Update the downloads update site to include the p2.mirrorsURL
      I.e. at /home/data/httpd/download.eclipse.org/r4e/drops/
    • Check that the aritifacts.jar contains the following property:
 <property name="p2.mirrorsURL"  value="http://www.eclipse.org/downloads/download.php?file=/r4e/drops/....v..../&format=xml"/>

Test Install

Tag Sources

  • Tag with the version as vx.y.z (e.g. v0.13.0):
org.eclipse.mylyn.reviews.r4e
  • Push tags
git push --tags

Update Release Repository Content

TBD - Not using composite repositories at the moment

Create API Baseline

  • major releases Create an API baseline zip

An API baseline is in essence a zip file of the release update site "plugins" folder excluding *source*.jar and documentation jar files.

See an example script at

git repo url = http://git.eclipse.org/gitroot/mylyn/org.eclipse.mylyn.git
path: org.eclipse.mylyn.releng/bin/create-api-profile.sh

Place the new API baselines at

/home/data/httpd/download.eclipse.org/r4e/drops/api_baseline/

Update Website

  • Update the version number on download page
  • Create a new section on download archive page
  • Create a new section in the New & Noteworthy
  • major releases Add a link to the new API baseline on the download archive page and update the developer page
  • major releases Archive project plan in mylyn/docs

Update Babel

  • Make release available in Eclipse Babel for translation (major releases only)

Announce Release

Update http://eclipse.org/mylyn/updates.xml

  • Edit /mylyn/notification.xml in website CVS

Update Eclipse Info Center

Update Marketplace Listings

After the Release

Update Versions

  • Edit versions in org.eclipse.mylyn/org.eclipse.mylyn.releng/bin/update-versions.sh
org.eclipse.mylyn/org.eclipse.mylyn.releng/bin/update-versions.sh
  • Set versions of org.eclipse.mylyn.commons/org.eclipse.mylyn to the next release version
  • Update version in CoreUtil.FRAMEWORK_VERSION
  • Update URL in ConnectorDiscoveryWizardMainPage.DEFAULT_DIRECTORY_URL

Update Repository URL

  • major release Edit URL in org.eclipse.mylyn-feature/feature.xml

Create Download Area

  • Create download directory
mkdir ~/downloads/mylyn/drops/3.7.0/
setfacl -m user:hudsonBuild:rwx ~/downloads/mylyn/drops/3.7.0/
setfacl -R -x user:hudsonBuild ~/downloads/mylyn/drops/3.6.0/
  • major release Create snapshot site
cp -a ~/downloads/mylyn/snapshots/3.6 ~/downloads/mylyn/snapshots/3.7
  • major release Update composite site indices
emacs ~/downloads/mylyn/snapshots/*/composite.index
  • Update snapshot sites
cd ~/downloads/mylyn/snapshots/
~/releng/bin/create-composite.sh -r
  • major release Create Incubator download directory
mkdir ~/downloads/mylyn/incubator/drops/3.7.0
setfacl -m user:hudsonBuild:rwx ~/downloads/mylyn/incubator/drops/3.7.0/
setfacl -R -x user:hudsonBuild ~/downloads/mylyn/incubator/drops/3.6.0/
  • major release Create Incubator site
cp -a ~/downloads/mylyn/incubator/3.6 cp -a ~/downloads/mylyn/incubator/3.7
emacs ~/downloads/mylyn/incubator/3.7/composite.index
  • Update composite site
cd ~/downloads/mylyn/incubator
~/releng/bin/create-composite.sh -r

Add Bugzilla Versions and Milestones

  • Add Bugzilla Milestones for the next release
  • major release Add Bugzilla Version for the current release

Update Project Plan

  • major release Update versions and queries in all plan.xml documents
  • major release Update release plans in portal

Back to the top