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 "Mylyn/Release Howto"

(Update Integration Repository)
(Prepare Download Area)
(37 intermediate revisions by one other user not shown)
Line 35: Line 35:
 
     url = ../../mylyn/org.eclipse.mylyn.context.git
 
     url = ../../mylyn/org.eclipse.mylyn.context.git
 
     revision = .
 
     revision = .
     branch = e_4_4_m_3_12_x
+
     branch = e_3_7_m_3_6_x
 
* Push changed .gitmodules file
 
* Push changed .gitmodules file
 
* Push submodule branches
 
* Push submodule branches
  git submodule foreach git push origin e_4_4_m_3_12_x:e_4_4_m_3_12_x
+
  git submodule foreach git push origin e_3_7_m_3_6_x:e_3_7_m_3_6_x
* Request mylyn-3.6.x-release job on Hudson cloning an existing release job
+
* configure mylyn-3.6.x-release job on Hudson to build from e_3_7_m_3_6_x branch
 +
** set BRANCH parameter passed to downstream builds
 +
 
 +
== Release Review & IP Log ==
 +
 
 +
See [[Development_Resources/HOWTO/Release_Cycle#Release_Review | Release_Cycle#Release_Review]] for details.
 +
 
 +
* Submit IP log for review ''at least 2 weeks before release''
 +
** Check [http://www.eclipse.org/projects/ip_log.php?id=mylyn,mylyn.builds,mylyn.commons,mylyn.context,mylyn.docs,mylyn.reviews,mylyn.tasks,mylyn.versions IP log]
 +
** Check the [http://eclipse.org/projects/tools/downloads.php?id=mylyn downloads area]. The following missing CQ's are expected due to limitations of the project downloads scanner:
 +
axis-ant.jar (No CQ found)
 +
axis.jar (No CQ found)
 +
epub-ant.jar (No CQ found)
 +
htmltext.jar (No CQ found)
 +
jaxrpc.jar (No CQ found)
 +
junit.jar (No CQ found)
 +
* Seek PMC approval for release by emailing link to review documentation to [mailto:mylyn-pmc@eclipse.org mylyn-pmc@eclipse.org] ''at least 2 weeks before release''
 +
* Once PMC and IP log approval are secured, schedule release review ''at least 1 week before release''
  
 
== Prepare Source Code ==
 
== Prepare Source Code ==
Line 54: Line 71:
 
* Update the year in the about.ini to the current year
 
* 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 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
+
* Update the year in copyright notices of changed source files: Install platform releng tools (available from the update site http://download.eclipse.org/eclipse/updates/4.3), Project context menu > Fix Copyrights
  
 
=== Backport changes to the Platform Specific Branches ===
 
=== Backport changes to the Platform Specific Branches ===
Line 67: Line 84:
 
== Update Target ==
 
== Update Target ==
 
* Update target files in <tt>org.eclipse.mylyn/org.eclipse.mylyn-target</tt> to point to release sites of dependencies to ensure builds are reproducible in the future
 
* Update target files in <tt>org.eclipse.mylyn/org.eclipse.mylyn-target</tt> to point to release sites of dependencies to ensure builds are reproducible in the future
 
== Tag Sources ==
 
* Tag the release as R_x_y_z (and R_x_y_z_e_3_3 if plug-ins are branched)
 
./foreach.sh git tag R_3_6_3
 
* Tag sub-projects with their respective versions as vx.y.z (e.g. v0.8.1):
 
org.eclipse.mylyn.builds
 
org.eclipse.mylyn.docs
 
org.eclipse.mylyn.reviews
 
org.eclipse.mylyn.versions
 
* Push tags
 
git submodule foreach git push --tags
 
  
 
== Build ==
 
== Build ==
 +
* If building from a branch, make sure the o.e.m.all repository is up to date. It updates automatically when changes are cherry-picked to submodule branches through Gerrit but may not when submodule branches are fast-forwarded.
 
* Release build (Hudson): [https://hudson.eclipse.org/hudson/job/mylyn-release/ https://hudson.eclipse.org/hudson/job/mylyn-release/]
 
* Release build (Hudson): [https://hudson.eclipse.org/hudson/job/mylyn-release/ https://hudson.eclipse.org/hudson/job/mylyn-release/]
 
** Select release as the type
 
** Select release as the type
 
** Check publish
 
** Check publish
** Enter timestamp for qualifier
 
 
* Release build (manually):
 
* Release build (manually):
 
   
 
   
Line 95: Line 101:
 
* Check that only approved features are on the update site
 
* Check that only approved features are on the update site
 
* Check that all Orbit bundles are tracked in [http://eclipse.org/projects/ip_log.php?projectid=mylyn,mylyn.builds,mylyn.commons,mylyn.context,mylyn.docs,mylyn.reviews,mylyn.tasks,mylyn.versions approved CQs]
 
* Check that all Orbit bundles are tracked in [http://eclipse.org/projects/ip_log.php?projectid=mylyn,mylyn.builds,mylyn.commons,mylyn.context,mylyn.docs,mylyn.reviews,mylyn.tasks,mylyn.versions approved CQs]
 +
 +
== Tag Sources ==
 +
* Tag the release as R_x_y_z (and R_x_y_z_e_3_3 if plug-ins are branched)
 +
git submodule foreach git tag R_3_6_3
 +
git tag R_3_6_3
 +
* Tag sub-projects with their respective versions as vx.y.z (e.g. v0.8.1):
 +
org.eclipse.mylyn.builds
 +
org.eclipse.mylyn.docs
 +
org.eclipse.mylyn.reviews
 +
org.eclipse.mylyn.versions
 +
* Push tags
 +
git submodule foreach git push --tags
 +
git push --tags
  
 
== Update Discovery Jar ==
 
== Update Discovery Jar ==
  
Run <tt>org.eclipse.mylyn/org.eclipse.mylyn.discovery-directory/build-helper.xml</tt> to produce a new jar (check that the listings are up to date first). Then copy org.eclipse.mylyn.discovery.jar to <tt>~/downloads/mylyn/discovery/</tt>, renaming it with the Mylyn version.
+
Update siteUrls and statsUrls in <tt>org.eclipse.mylyn/org.eclipse.mylyn.discovery-directory/plugin.xml</tt> to have the correct version and check that the listings (supported versions) are up to date. <!-- We wait until now to update versions in case we need to update the jar mid-release -->
 +
 
 +
Run <tt>org.eclipse.mylyn.discovery-directory/build-helper.xml</tt> to produce a new jar. Then copy org.eclipse.mylyn.discovery.jar to <tt>~/downloads/mylyn/discovery/</tt>, renaming it with the Mylyn version.
 +
  scp org.eclipse.mylyn.discovery.jar
 +
      sdavis@build.eclipse.org:~/downloads/mylyn/discovery/org.eclipse.mylyn.discovery-3.12.jar
  
 
Make a second copy of the jar named with the next Mylyn version so that updating the framework version after the release (below) will not cause tests to fail.
 
Make a second copy of the jar named with the next Mylyn version so that updating the framework version after the release (below) will not cause tests to fail.
 +
  scp org.eclipse.mylyn.discovery.jar
 +
      sdavis@build.eclipse.org:~/downloads/mylyn/discovery/org.eclipse.mylyn.discovery-3.13.jar
  
 
== Test Install ==
 
== Test Install ==
 
* Do a test install from http://download.eclipse.org/mylyn/snapshots/weekly
 
* Do a test install from http://download.eclipse.org/mylyn/snapshots/weekly
* Test that any changes to discovery show up
+
* Test that any changes to discovery show up (it may take a while for the new jar to propagate to [https://www.eclipse.org/downloads/download.php?file=/mylyn/discovery/org.eclipse.mylyn.discovery-3.13.jar mirrors])
  
 
== Prepare Download Area ==
 
== Prepare Download Area ==
Line 112: Line 137:
 
  rm -rf ~/downloads/mylyn/drops/3.6.0/I*
 
  rm -rf ~/downloads/mylyn/drops/3.6.0/I*
 
* Also remove all RC builds (builds starting with a 'v') other than the latest
 
* Also remove all RC builds (builds starting with a 'v') other than the latest
 +
* Update snapshot sites:
 +
cd ~/downloads/mylyn/snapshots/
 +
~/releng/bin/create-composite.sh -r
 
* Copy Release to archive.eclipse.org
 
* Copy Release to archive.eclipse.org
 
  cp -a ~/downloads/mylyn/drops/3.6.0 /home/data/httpd/archive.eclipse.org/mylyn/drops
 
  cp -a ~/downloads/mylyn/drops/3.6.0 /home/data/httpd/archive.eclipse.org/mylyn/drops
Line 117: Line 145:
 
  cd ~/downloads/mylyn/drops/3.6.0/
 
  cd ~/downloads/mylyn/drops/3.6.0/
 
  ~/releng/bin/update-metadata.sh
 
  ~/releng/bin/update-metadata.sh
* Check that the content.jar contains the following property:
+
* Check that the content.jar contains the p2.mirrorsURL property:
  <property name="p2.mirrorsURL" value="http://www.eclipse.org/downloads/download.php?file=/mylyn/drops/.../v.../&amp;protocol=http&amp;format=xml"/>
+
  check-metadata.sh v20140609-1648
 +
It should look like <property name="p2.mirrorsURL" value="http://www.eclipse.org/downloads/download.php?file=/mylyn/drops/.../v.../&amp;protocol=http&amp;format=xml"/>
  
 
== Update Release Repository Content ==
 
== Update Release Repository Content ==
 +
 +
''Note: If the release is part of the Simultaneous Release, this is the step that should wait until the official release day. That way the artifacts can be published early so they have time to mirror, but they won't be [https://wiki.eclipse.org/SimRel/Simultaneous_Release_FAQ#How_is_a_final_build_made_.22invisible.22_until_release.3F visible] until this step is done.''
 +
 
* Log into Eclipse.org  
 
* Log into Eclipse.org  
 
  ssh build.eclipse.org
 
  ssh build.eclipse.org
 
* Update filters in <tt>~/downloads/mylyn/releases/*/composite.index</tt>
 
* Update filters in <tt>~/downloads/mylyn/releases/*/composite.index</tt>
 
** Ensure that ~/downloads/mylyn/releases/3.6 exists, where 3.6 is the version to be released, and that it contains a composite.index with appropriate content
 
** Ensure that ~/downloads/mylyn/releases/3.6 exists, where 3.6 is the version to be released, and that it contains a composite.index with appropriate content
 +
cd ~/downloads/mylyn/releases/
 +
cp -r 3.5 3.6
 +
emacs 3.6/composite.index
 
* Update release composite sites
 
* Update release composite sites
 
  cd ~/downloads/mylyn/releases/
 
  cd ~/downloads/mylyn/releases/
 
  ~/releng/bin/create-composite.sh -r
 
  ~/releng/bin/create-composite.sh -r
  cp -r 3.6 latest
+
  rm -rf latest; cp -r 3.6 latest
 +
 
 +
== Update SimRel Contributions (Simultaneous Release Only) ==
 +
* provide help bundles from final build for info center as on [https://bugs.eclipse.org/bugs/show_bug.cgi?id=408828 bug 408828]
  
 
== Create API Baseline ==
 
== Create API Baseline ==
 
* ''major releases'' Create an API baseline zip
 
* ''major releases'' Create an API baseline zip
 +
  cd ~/downloads/mylyn/drops/3.6.0
 
   ~/releng/bin/create-api-profile.sh 3.6.0 v20110608-1400
 
   ~/releng/bin/create-api-profile.sh 3.6.0 v20110608-1400
  
Line 151: Line 190:
 
== Update http://eclipse.org/mylyn/updates.xml ==
 
== Update http://eclipse.org/mylyn/updates.xml ==
 
* Edit updates.xml in website Git repository
 
* Edit updates.xml in website Git repository
 
== Update Eclipse Info Center ==
 
* Inform webmaster of new help plug-ins for the [http://help.eclipse.org Eclipse info center]
 
  
 
== Update Marketplace Listings ==
 
== Update Marketplace Listings ==
Line 169: Line 205:
 
  org.eclipse.mylyn/org.eclipse.mylyn.releng/bin/update-versions.sh
 
  org.eclipse.mylyn/org.eclipse.mylyn.releng/bin/update-versions.sh
 
* Push reviews in dependency order. After each set of reviews is merged, wait for the corresponding [https://hudson.eclipse.org/hudson/view/Mylyn/ nightly builds] to publish new snapshots before pushing the next set of reviews. Push sets of reviews in this order:
 
* Push reviews in dependency order. After each set of reviews is merged, wait for the corresponding [https://hudson.eclipse.org/hudson/view/Mylyn/ nightly builds] to publish new snapshots before pushing the next set of reviews. Push sets of reviews in this order:
# docs, commons, org.eclipse.mylyn, , org.eclipse.mylyn.all
+
# org.eclipse.mylyn, org.eclipse.mylyn.all
 +
# docs, commons
 
# tasks, versions
 
# tasks, versions
 
# context, reviews, builds
 
# context, reviews, builds
Line 175: Line 212:
 
* Update versions in <tt>org.eclipse.mylyn.commons.ui/.settings/.api_filters</tt>
 
* Update versions in <tt>org.eclipse.mylyn.commons.ui/.settings/.api_filters</tt>
 
* Update CoreUtil.FRAMEWORK_VERSION
 
* Update CoreUtil.FRAMEWORK_VERSION
 
== Update Repository URL ==
 
 
* ''major release'' Edit URL in <tt>org.eclipse.mylyn-feature/feature.xml</tt>
 
* ''major release'' Edit URL in <tt>org.eclipse.mylyn-feature/feature.xml</tt>
 +
* If an upcoming simultaneous release will include the new Mylyn version, use [[Eclipse_b3/aggregator/manual | b3 Aggregator editor]] to push version [[Simrel/Contributing_to_Simrel_Aggregation_Build|update]] to appropriate branch(es) of [http://git.eclipse.org/c/simrel/org.eclipse.simrel.build.git/ simrel.build repo]. If only changing versions, can use find and replace in text editor instead of b3 editor.
  
 
== Create Download Area ==
 
== Create Download Area ==
Line 183: Line 219:
 
  mkdir ~/downloads/mylyn/drops/3.7.0/
 
  mkdir ~/downloads/mylyn/drops/3.7.0/
 
  setfacl -m user:hudsonBuild:rwx ~/downloads/mylyn/drops/3.7.0/
 
  setfacl -m user:hudsonBuild:rwx ~/downloads/mylyn/drops/3.7.0/
 +
# change ownership to current user so that setfacl will be allowed
 +
cp -r ~/downloads/mylyn/drops/3.6.0 ~/downloads/mylyn/drops/3.6.0_copy
 +
rm -rf ~/downloads/mylyn/drops/3.6.0
 +
mv ~/downloads/mylyn/drops/3.6.0_copy/ ~/downloads/mylyn/drops/3.6.0
 
  setfacl -R -x user:hudsonBuild ~/downloads/mylyn/drops/3.6.0/
 
  setfacl -R -x user:hudsonBuild ~/downloads/mylyn/drops/3.6.0/
 
* ''major release'' Create snapshot site
 
* ''major release'' Create snapshot site
Line 194: Line 234:
 
  mkdir ~/downloads/mylyn/incubator/drops/3.7.0
 
  mkdir ~/downloads/mylyn/incubator/drops/3.7.0
 
  setfacl -m user:hudsonBuild:rwx ~/downloads/mylyn/incubator/drops/3.7.0/
 
  setfacl -m user:hudsonBuild:rwx ~/downloads/mylyn/incubator/drops/3.7.0/
 +
# change ownership to current user so that setfacl will be allowed
 +
cp -r ~/downloads/mylyn/incubator/drops/3.6.0 ~/downloads/mylyn/incubator/drops/3.6.0_copy
 +
rm -rf ~/downloads/mylyn/incubator/drops/3.6.0
 +
mv ~/downloads/mylyn/incubator/drops/3.6.0_copy ~/downloads/mylyn/incubator/drops/3.6.0
 
  setfacl -R -x user:hudsonBuild ~/downloads/mylyn/incubator/drops/3.6.0/
 
  setfacl -R -x user:hudsonBuild ~/downloads/mylyn/incubator/drops/3.6.0/
 
* ''major release'' Create Incubator site
 
* ''major release'' Create Incubator site
Line 201: Line 245:
 
  cd ~/downloads/mylyn/incubator
 
  cd ~/downloads/mylyn/incubator
 
  ~/releng/bin/create-composite.sh -r
 
  ~/releng/bin/create-composite.sh -r
 +
 +
== Create Build Job ==
 +
 +
* Request mylyn-3.7.x-release job on Hudson cloning the previous release job
 +
* configure job to build from master branch and run weekly
  
 
== Add Bugzilla Versions and Milestones ==
 
== Add Bugzilla Versions and Milestones ==
Line 212: Line 261:
  
 
* create-composite.sh: need to run this every time after deleting drops to make sure there are no stale references
 
* create-composite.sh: need to run this every time after deleting drops to make sure there are no stale references
 +
* Most of the examples assume you are releasing Mylyn 3.6 and then preparing for the 3.7 release

Revision as of 13:18, 16 September 2014


Before the Release

Prepare Build Environment

  • once Checkout releng on build.eclipse.org
ssh build.eclipse.org
git clone /gitroot/mylyn/org.eclipse.mylyn.git
  • Update releng on build.eclipse.org from Git
cd ~/org.eclipse.mylyn/
git pull
  • once Make sure your have Java 5.0 or later in your path. Settings for $HOME/.bashrc on build.eclipse.org:
export JAVA_HOME=/opt/public/common/jdk-1.6.x86_64
export ECLIPSE_HOME=~/.m2/repository/org/eclipse/tycho/tycho-p2-runtime/0.12.0/eclipse
  • once Run Maven on build.eclipse.org to download runtime
cd org.eclipse.mylyn
mvn package
  • once Create symlinks for convenience
ln -s /home/data/httpd/archive.eclipse.org/ ~/archive
ln -s org.eclipse.mylyn/org.eclipse.mylyn.releng ~/releng

Create a Branch (Major Release Only)

  • Branch integration repository
git clone ssh://git.eclipse.org/gitroot/mylyn/org.eclipse.mylyn.all src-3_6_x
cd src-3_6_x
git checkout -b e_3_7_m_3_6_x
git submodule init
git submodule update
  • Branch each sub-project
git submodule foreach git pull
git submodule foreach git checkout -b e_3_7_m_3_6_x master
  • Update branches in .gitmodules (can do this by comparing with previous branch) so that each submodule looks like this:
[submodule "org.eclipse.mylyn.context"]
    path = org.eclipse.mylyn.context
    url = ../../mylyn/org.eclipse.mylyn.context.git
    revision = .
    branch = e_3_7_m_3_6_x
  • Push changed .gitmodules file
  • Push submodule branches
git submodule foreach git push origin e_3_7_m_3_6_x:e_3_7_m_3_6_x
  • configure mylyn-3.6.x-release job on Hudson to build from e_3_7_m_3_6_x branch
    • set BRANCH parameter passed to downstream builds

Release Review & IP Log

See Release_Cycle#Release_Review for details.

  • Submit IP log for review at least 2 weeks before release
    • Check IP log
    • Check the downloads area. The following missing CQ's are expected due to limitations of the project downloads scanner:
axis-ant.jar (No CQ found)
axis.jar (No CQ found)
epub-ant.jar (No CQ found)
htmltext.jar (No CQ found)
jaxrpc.jar (No CQ found)
junit.jar (No CQ found)
  • Seek PMC approval for release by emailing link to review documentation to mylyn-pmc@eclipse.org at least 2 weeks before release
  • Once PMC and IP log approval are secured, schedule release review at least 1 week before release

Prepare Source Code

Internationalize Messages

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

Update User Guide from the Wiki

  • Run org.eclipse.mylyn.help.ui/build-helper.xml as an Ant Build (ensure WikiText is checked out into your workspace)
  • Review the user guide and commit changes

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 (available from the update site http://download.eclipse.org/eclipse/updates/4.3), Project context menu > Fix Copyrights

Backport changes to the Platform Specific Branches

  • Merge changes from master in each branched module
git merge master

Run Tests

The Release

Update Target

  • Update target files in org.eclipse.mylyn/org.eclipse.mylyn-target to point to release sites of dependencies to ensure builds are reproducible in the future

Build

  • If building from a branch, make sure the o.e.m.all repository is up to date. It updates automatically when changes are cherry-picked to submodule branches through Gerrit but may not when submodule branches are fast-forwarded.
  • Release build (Hudson): https://hudson.eclipse.org/hudson/job/mylyn-release/
    • Select release as the type
    • Check publish
  • Release build (manually):
mvn -Prelease -DforceContextQualifier=v20110304-0100 -Ppublish -Phudson.eclipse.org -Pindigo -Dexplicit-target -Dmaven.test.skip=true -Dtycho-version=0.12.0 -Dsign-dir=tools/mylyn/hudson/release clean install
  • Snapshot build (manually):
mvn -Psnapshot -Ppublish -Phudson.eclipse.org -Pindigo -Dexplicit-target -Dmaven.test.skip=true -Dtycho-version=0.12.0 -Dsign-dir=tools/mylyn/hudson/snapshot clean install

Verify Update Site Contents

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

Tag Sources

  • Tag the release as R_x_y_z (and R_x_y_z_e_3_3 if plug-ins are branched)
git submodule foreach git tag R_3_6_3
git tag R_3_6_3
  • Tag sub-projects with their respective versions as vx.y.z (e.g. v0.8.1):
org.eclipse.mylyn.builds
org.eclipse.mylyn.docs
org.eclipse.mylyn.reviews
org.eclipse.mylyn.versions
  • Push tags
git submodule foreach git push --tags
git push --tags

Update Discovery Jar

Update siteUrls and statsUrls in org.eclipse.mylyn/org.eclipse.mylyn.discovery-directory/plugin.xml to have the correct version and check that the listings (supported versions) are up to date.

Run org.eclipse.mylyn.discovery-directory/build-helper.xml to produce a new jar. Then copy org.eclipse.mylyn.discovery.jar to ~/downloads/mylyn/discovery/, renaming it with the Mylyn version.

 scp org.eclipse.mylyn.discovery.jar
     sdavis@build.eclipse.org:~/downloads/mylyn/discovery/org.eclipse.mylyn.discovery-3.12.jar

Make a second copy of the jar named with the next Mylyn version so that updating the framework version after the release (below) will not cause tests to fail.

 scp org.eclipse.mylyn.discovery.jar
     sdavis@build.eclipse.org:~/downloads/mylyn/discovery/org.eclipse.mylyn.discovery-3.13.jar

Test Install

Prepare Download Area

  • Log into Eclipse.org
ssh build.eclipse.org
  • Remove Old Integration Builds
rm -rf ~/downloads/mylyn/drops/3.6.0/I*
  • Also remove all RC builds (builds starting with a 'v') other than the latest
  • Update snapshot sites:
cd ~/downloads/mylyn/snapshots/
~/releng/bin/create-composite.sh -r
  • Copy Release to archive.eclipse.org
cp -a ~/downloads/mylyn/drops/3.6.0 /home/data/httpd/archive.eclipse.org/mylyn/drops
  • Run script to add mirror URLs
cd ~/downloads/mylyn/drops/3.6.0/
~/releng/bin/update-metadata.sh
  • Check that the content.jar contains the p2.mirrorsURL property:
check-metadata.sh v20140609-1648

It should look like <property name="p2.mirrorsURL" value="http://www.eclipse.org/downloads/download.php?file=/mylyn/drops/.../v.../&protocol=http&format=xml"/>

Update Release Repository Content

Note: If the release is part of the Simultaneous Release, this is the step that should wait until the official release day. That way the artifacts can be published early so they have time to mirror, but they won't be visible until this step is done.

  • Log into Eclipse.org
ssh build.eclipse.org
  • Update filters in ~/downloads/mylyn/releases/*/composite.index
    • Ensure that ~/downloads/mylyn/releases/3.6 exists, where 3.6 is the version to be released, and that it contains a composite.index with appropriate content
cd ~/downloads/mylyn/releases/
cp -r 3.5 3.6
emacs 3.6/composite.index
  • Update release composite sites
cd ~/downloads/mylyn/releases/
~/releng/bin/create-composite.sh -r
rm -rf latest; cp -r 3.6 latest

Update SimRel Contributions (Simultaneous Release Only)

  • provide help bundles from final build for info center as on bug 408828

Create API Baseline

  • major releases Create an API baseline zip
 cd ~/downloads/mylyn/drops/3.6.0
 ~/releng/bin/create-api-profile.sh 3.6.0 v20110608-1400

Update Website

  • Update the version number on download page
  • Update the snapshot section on the download page
  • Create a new section on download archive page
  • major releases Add a link to the new API baseline on the download archive page and update the developer page
  • Create a new section in the New & Noteworthy
  • Update the News section at http://eclipse.org/mylyn/

Update Babel

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

Announce Release

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

  • Edit updates.xml in website Git repository

Update Marketplace Listings

After the Release

Create Discovery Directory

Create a discovery/directory-XX.xml for the new Mylyn version in the website Git, commenting out any 3rd party jars that haven't been created yet.

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
  • Push reviews in dependency order. After each set of reviews is merged, wait for the corresponding nightly builds to publish new snapshots before pushing the next set of reviews. Push sets of reviews in this order:
  1. org.eclipse.mylyn, org.eclipse.mylyn.all
  2. docs, commons
  3. tasks, versions
  4. context, reviews, builds
  5. incubator
  • Update versions in org.eclipse.mylyn.commons.ui/.settings/.api_filters
  • Update CoreUtil.FRAMEWORK_VERSION
  • major release Edit URL in org.eclipse.mylyn-feature/feature.xml
  • If an upcoming simultaneous release will include the new Mylyn version, use b3 Aggregator editor to push version update to appropriate branch(es) of simrel.build repo. If only changing versions, can use find and replace in text editor instead of b3 editor.

Create Download Area

  • Create download directory
mkdir ~/downloads/mylyn/drops/3.7.0/
setfacl -m user:hudsonBuild:rwx ~/downloads/mylyn/drops/3.7.0/
# change ownership to current user so that setfacl will be allowed
cp -r ~/downloads/mylyn/drops/3.6.0 ~/downloads/mylyn/drops/3.6.0_copy
rm -rf ~/downloads/mylyn/drops/3.6.0
mv ~/downloads/mylyn/drops/3.6.0_copy/ ~/downloads/mylyn/drops/3.6.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/
# change ownership to current user so that setfacl will be allowed
cp -r ~/downloads/mylyn/incubator/drops/3.6.0 ~/downloads/mylyn/incubator/drops/3.6.0_copy
rm -rf ~/downloads/mylyn/incubator/drops/3.6.0
mv ~/downloads/mylyn/incubator/drops/3.6.0_copy ~/downloads/mylyn/incubator/drops/3.6.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 ~/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

Create Build Job

  • Request mylyn-3.7.x-release job on Hudson cloning the previous release job
  • configure job to build from master branch and run weekly

Add Bugzilla Versions and Milestones

Update Project Plan

Notes

  • create-composite.sh: need to run this every time after deleting drops to make sure there are no stale references
  • Most of the examples assume you are releasing Mylyn 3.6 and then preparing for the 3.7 release

Back to the top