Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Difference between revisions of "Mylyn/Release Howto"
(→Update Marketplace Listings) |
(→Create Download Area) |
||
(76 intermediate revisions by the same user not shown) | |||
Line 30: | Line 30: | ||
git submodule foreach git pull | git submodule foreach git pull | ||
git submodule foreach git checkout -b e_3_7_m_3_6_x master | git submodule foreach git checkout -b e_3_7_m_3_6_x master | ||
− | * | + | * Copy .gitmodules from previous branch and update the branches to the current branch |
− | + | * Push changed .gitmodules file to new e_3_7_m_3_6_x branch | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | * Push changed .gitmodules file | + | |
* Push submodule branches | * Push submodule branches | ||
git submodule foreach git push origin e_3_7_m_3_6_x:e_3_7_m_3_6_x | 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 | * 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 | ||
+ | * configure mylyn-3.6.x job at http://ci.mylyn.org/ to build from e_3_7_m_3_6_x branch | ||
− | == Release Review == | + | == Release Review & IP Log == |
See [[Development_Resources/HOWTO/Release_Cycle#Release_Review | Release_Cycle#Release_Review]] for details. | 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'' === | |
− | * Seek PMC | + | * 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] |
− | * Once PMC and IP log approval are secured, | + | ** Check that all Orbit bundles are tracked in approved CQs |
+ | * 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 ''at least 2 weeks before release'' === | ||
+ | * email link to review documentation to [mailto:mylyn-pmc@eclipse.org mylyn-pmc@eclipse.org] | ||
+ | === Schedule Release Review ''at least 1 week before release'' === | ||
+ | * Once PMC and IP log approval are secured, send links to review document and mailing list discussion showing PMC approval to [mailto:emo@eclipse.org emo@eclipse.org] | ||
== Prepare Source Code == | == Prepare Source Code == | ||
Line 67: | Line 76: | ||
* Merge changes from master in each branched module | * Merge changes from master in each branched module | ||
git merge master | git merge master | ||
− | |||
− | |||
− | |||
= The Release = | = The Release = | ||
Line 75: | Line 81: | ||
== 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 | ||
− | + | ** Update versions of Eclipse Platform dependencies: | |
− | + | cd ~/releng/bin | |
− | * | + | ./extractVersionsFromUpdateSite.sh ../../org.eclipse.mylyn-target/mylyn-e4.4.target ~/downloads/releases/luna/201409261001/ junit |
− | ./ | + | Copy the desired suggestions to the target file. |
− | + | ** To get version for org.eclipse.sdk.ide (a product IU) | |
− | + | unzip ~/downloads/releases/luna/201409261001/content.jar; grep "id='org.eclipse.sdk.ide'" content.xml; rm content.xml | |
− | + | ** Update to latest Orbit version and update dependency versions from http://download.eclipse.org/tools/orbit/downloads/ | |
− | + | ||
− | org.eclipse. | + | |
− | * | + | |
− | + | ||
== Build == | == Build == | ||
− | * | + | * If building from a branch, make sure the o.e.m.all repository is up to date. It usually updates automatically when changes are cherry-picked to submodule branches through Gerrit but may not when submodule branches are fast-forwarded. |
+ | * [https://hudson.eclipse.org/hudson/user/spingel/my-views/view/Mylyn%20Release/ Release builds (Hudson)] | ||
** Select release as the type | ** Select release as the type | ||
** Check publish | ** Check publish | ||
− | ** | + | ** Once the build is complete, check the test results from the downstream jobs |
+ | * Send a message to mylyn-dev with the location of the build inviting people to test it | ||
* Release build (manually): | * Release build (manually): | ||
Line 102: | Line 106: | ||
== Verify Update Site Contents == | == Verify Update Site Contents == | ||
* Check that only approved features are on the update site | * Check that only approved features are on the update site | ||
− | |||
== Update Discovery Jar == | == Update Discovery Jar == | ||
− | Update siteUrls and statsUrls in <tt>org.eclipse.mylyn/org.eclipse.mylyn.discovery-directory/plugin.xml</tt> to have the correct version | + | * Update siteUrls and statsUrls in <tt>org.eclipse.mylyn/org.eclipse.mylyn.discovery-directory/plugin.xml</tt> to have the correct version |
+ | * 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. | 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 | ||
+ | |||
+ | Commit the changes. | ||
== 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]) |
+ | |||
+ | == 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] | ||
+ | |||
+ | == 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 | ||
== Prepare Download Area == | == Prepare Download Area == | ||
Line 122: | Line 148: | ||
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 127: | Line 156: | ||
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 | + | * 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.../&protocol=http&format=xml"/> | + | ~/releng/bin/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"/> | ||
+ | |||
+ | == 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 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> | + | * ''major releases'' 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 Website == | == Update Website == | ||
Line 148: | Line 185: | ||
* Update the snapshot section on the download page | * Update the snapshot section on the download page | ||
* Create a new section on download archive 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 | + | * ''major releases'' Add a link to the new API baseline on the download archive page and update your development environment with the new baseline |
* Create a new section in the New & Noteworthy | * Create a new section in the New & Noteworthy | ||
* Update the News section at http://eclipse.org/mylyn/ | * Update the News section at http://eclipse.org/mylyn/ | ||
+ | * Update http://eclipse.org/mylyn/updates.xml | ||
== Update Babel == | == Update Babel == | ||
Line 158: | Line 196: | ||
* Send announcement to [http://dev.eclipse.org/mhonarc/lists/mylyn-announce/maillist.html mylyn-announce] | * Send announcement to [http://dev.eclipse.org/mhonarc/lists/mylyn-announce/maillist.html mylyn-announce] | ||
* Post announcement to [http://www.eclipse.org/forums/index.php?t=thread&frm_id=83 news group] | * Post announcement to [http://www.eclipse.org/forums/index.php?t=thread&frm_id=83 news group] | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
== Update Marketplace Listings == | == Update Marketplace Listings == | ||
* ''major releases'' [http://marketplace.eclipse.org/content/mylyn Mylyn] | * ''major releases'' [http://marketplace.eclipse.org/content/mylyn Mylyn] | ||
* ''major releases'' [http://marketplace.eclipse.org/content/mylyn-trac-connector Trac Connector] | * ''major releases'' [http://marketplace.eclipse.org/content/mylyn-trac-connector Trac Connector] | ||
− | |||
− | |||
− | |||
= After the Release = | = After the Release = | ||
Line 176: | Line 205: | ||
== Create Discovery Directory == | == Create Discovery Directory == | ||
− | Create a discovery/directory-XX.xml for the | + | Create a discovery/directory-XX.xml for the next Mylyn version in the website Git, commenting out any 3rd party jars that haven't been created yet. |
== Update Versions == | == Update Versions == | ||
+ | * ''service release only'' Add SR branch to [https://hudson.eclipse.org/hudson/job/mylyn-snapshot-publish mylyn-snapshot-publish] "Branches to build" | ||
+ | * ''major release'' Update CoreUtil.FRAMEWORK_VERSION | ||
+ | * ''major release'' Edit URL in <tt>org.eclipse.mylyn-feature/feature.xml</tt> | ||
* Edit versions in <tt>org.eclipse.mylyn/org.eclipse.mylyn.releng/bin/update-versions.sh</tt> | * Edit versions in <tt>org.eclipse.mylyn/org.eclipse.mylyn.releng/bin/update-versions.sh</tt> | ||
+ | cd org.eclipse.mylyn.all | ||
+ | git submodule foreach git reset --hard | ||
+ | git submodule foreach git checkout master | ||
+ | git submodule foreach git pull | ||
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 (for SRs, need to run the release build (e.g. 3.14.x) to publish snapshots). Push sets of reviews in this order: |
− | # | + | # org.eclipse.mylyn, org.eclipse.mylyn.all (wait for or trigger mylyn-snapshot-publish before continuing) |
+ | # docs, commons | ||
# tasks, versions | # tasks, versions | ||
− | # context, reviews | + | # context, reviews |
− | # incubator | + | # builds, incubator |
− | + | ||
− | + | ||
− | + | * 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. Make sure there is a snapshot build before pushing the version update. | |
− | * | + | |
== Create Download Area == | == Create Download Area == | ||
− | * Create download directory | + | * Create download directory (omit last argument if this is not a major release) |
− | + | ~/releng/bin/create-download-directory.sh 3.6.0 3.7.0 true | |
− | + | * ''June release'' Create composite site for next Eclipse release | |
− | + | cp -r ~/downloads/mylyn/luna ~/downloads/mylyn/mars | |
− | * '' | + | |
− | cp - | + | |
* ''major release'' Update composite site indices | * ''major release'' Update composite site indices | ||
emacs ~/downloads/mylyn/snapshots/*/composite.index | emacs ~/downloads/mylyn/snapshots/*/composite.index | ||
+ | emacs ~/downloads/mylyn/incubator/3.7/composite.index | ||
* Update snapshot sites | * Update snapshot sites | ||
cd ~/downloads/mylyn/snapshots/ | cd ~/downloads/mylyn/snapshots/ | ||
~/releng/bin/create-composite.sh -r | ~/releng/bin/create-composite.sh -r | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
cd ~/downloads/mylyn/incubator | cd ~/downloads/mylyn/incubator | ||
~/releng/bin/create-composite.sh -r | ~/releng/bin/create-composite.sh -r | ||
Line 217: | Line 242: | ||
== Create Build Job == | == Create Build Job == | ||
− | * Request mylyn-3.7.x-release job on Hudson cloning | + | * Request mylyn-3.7.x-release job on Hudson cloning the previous release job |
− | * | + | * Configure job to build from master branch, trigger downstream jobs on master branch, and run weekly |
+ | * Create a mylyn-3.7.x job at http://ci.mylyn.org/ | ||
== Add Bugzilla Versions and Milestones == | == Add Bugzilla Versions and Milestones == | ||
* [https://dev.eclipse.org/committers/bugs/bugz_manager.php Add Bugzilla Milestones] for the next release | * [https://dev.eclipse.org/committers/bugs/bugz_manager.php Add Bugzilla Milestones] for the next release | ||
* ''major release'' Add Bugzilla Version for the current release | * ''major release'' Add Bugzilla Version for the current release | ||
+ | * ''major release'' move all bugs from "next" milestones to the new milestones: | ||
+ | ** https://bugs.eclipse.org/bugs/buglist.cgi?list_id=10853667&product=Mylyn&query_format=advanced&target_milestone=Next&tweak=1 | ||
+ | ** https://bugs.eclipse.org/bugs/buglist.cgi?list_id=10840631&product=Mylyn%20Tasks&query_format=advanced&target_milestone=Next&tweak=1 | ||
+ | ** https://bugs.eclipse.org/bugs/buglist.cgi?list_id=10152343&product=Mylyn%20Commons&query_format=advanced&target_milestone=Next&tweak=1 | ||
+ | ** https://bugs.eclipse.org/bugs/buglist.cgi?list_id=10152343&product=Mylyn%20Context&query_format=advanced&target_milestone=Next&tweak=1 | ||
+ | ** https://bugs.eclipse.org/bugs/buglist.cgi?list_id=10152351&product=Mylyn%20Reviews&query_format=advanced&target_milestone=Next&tweak=1 | ||
== Update Project Plan == | == Update Project Plan == | ||
* ''major release'' Update release plans in https://projects.eclipse.org/projects/mylyn/documentation | * ''major release'' Update release plans in https://projects.eclipse.org/projects/mylyn/documentation | ||
+ | * Create release bug for the next release | ||
= Notes = | = Notes = | ||
* 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 | ||
+ | * In this document, ''major release'' generally means anything other than a service release |
Revision as of 14:02, 27 April 2015
Contents
- 1 Before the Release
- 2 The Release
- 2.1 Update Target
- 2.2 Build
- 2.3 Verify Update Site Contents
- 2.4 Update Discovery Jar
- 2.5 Test Install
- 2.6 Update SimRel Contributions (Simultaneous Release Only)
- 2.7 Tag Sources
- 2.8 Prepare Download Area
- 2.9 Create API Baseline
- 2.10 Update Release Repository Content
- 2.11 Update Website
- 2.12 Update Babel
- 2.13 Announce Release
- 2.14 Update Marketplace Listings
- 3 After the Release
- 4 Notes
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
- Copy .gitmodules from previous branch and update the branches to the current branch
- Push changed .gitmodules file to new e_3_7_m_3_6_x branch
- 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
- configure mylyn-3.6.x job at http://ci.mylyn.org/ to build from e_3_7_m_3_6_x branch
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 that all Orbit bundles are tracked in approved CQs
- 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 at least 2 weeks before release
- email link to review documentation to mylyn-pmc@eclipse.org
Schedule Release Review at least 1 week before release
- Once PMC and IP log approval are secured, send links to review document and mailing list discussion showing PMC approval to emo@eclipse.org
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
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
- Update versions of Eclipse Platform dependencies:
cd ~/releng/bin ./extractVersionsFromUpdateSite.sh ../../org.eclipse.mylyn-target/mylyn-e4.4.target ~/downloads/releases/luna/201409261001/ junit
Copy the desired suggestions to the target file.
- To get version for org.eclipse.sdk.ide (a product IU)
unzip ~/downloads/releases/luna/201409261001/content.jar; grep "id='org.eclipse.sdk.ide'" content.xml; rm content.xml
- Update to latest Orbit version and update dependency versions from http://download.eclipse.org/tools/orbit/downloads/
Build
- If building from a branch, make sure the o.e.m.all repository is up to date. It usually updates automatically when changes are cherry-picked to submodule branches through Gerrit but may not when submodule branches are fast-forwarded.
- Release builds (Hudson)
- Select release as the type
- Check publish
- Once the build is complete, check the test results from the downstream jobs
- Send a message to mylyn-dev with the location of the build inviting people to test it
- 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
Update Discovery Jar
- Update siteUrls and statsUrls in org.eclipse.mylyn/org.eclipse.mylyn.discovery-directory/plugin.xml to have the correct version
- 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
Commit the changes.
Test Install
- Do a test install from http://download.eclipse.org/mylyn/snapshots/weekly
- Test that any changes to discovery show up (it may take a while for the new jar to propagate to mirrors)
Update SimRel Contributions (Simultaneous Release Only)
- provide help bundles from final build for info center as on bug 408828
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
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:
~/releng/bin/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"/>
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 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
- major releases 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 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 your development environment with the new baseline
- Create a new section in the New & Noteworthy
- Update the News section at http://eclipse.org/mylyn/
- Update http://eclipse.org/mylyn/updates.xml
Update Babel
- Make release available in Eclipse Babel for translation (major releases only)
Announce Release
- Send announcement to mylyn-announce
- Post announcement to news group
Update Marketplace Listings
- major releases Mylyn
- major releases Trac Connector
After the Release
Create Discovery Directory
Create a discovery/directory-XX.xml for the next Mylyn version in the website Git, commenting out any 3rd party jars that haven't been created yet.
Update Versions
- service release only Add SR branch to mylyn-snapshot-publish "Branches to build"
- major release Update CoreUtil.FRAMEWORK_VERSION
- major release Edit URL in org.eclipse.mylyn-feature/feature.xml
- Edit versions in org.eclipse.mylyn/org.eclipse.mylyn.releng/bin/update-versions.sh
cd org.eclipse.mylyn.all git submodule foreach git reset --hard git submodule foreach git checkout master git submodule foreach git pull 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 (for SRs, need to run the release build (e.g. 3.14.x) to publish snapshots). Push sets of reviews in this order:
- org.eclipse.mylyn, org.eclipse.mylyn.all (wait for or trigger mylyn-snapshot-publish before continuing)
- docs, commons
- tasks, versions
- context, reviews
- builds, incubator
- 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. Make sure there is a snapshot build before pushing the version update.
Create Download Area
- Create download directory (omit last argument if this is not a major release)
~/releng/bin/create-download-directory.sh 3.6.0 3.7.0 true
- June release Create composite site for next Eclipse release
cp -r ~/downloads/mylyn/luna ~/downloads/mylyn/mars
- major release Update composite site indices
emacs ~/downloads/mylyn/snapshots/*/composite.index emacs ~/downloads/mylyn/incubator/3.7/composite.index
- Update snapshot sites
cd ~/downloads/mylyn/snapshots/ ~/releng/bin/create-composite.sh -r 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, trigger downstream jobs on master branch, and run weekly
- Create a mylyn-3.7.x job at http://ci.mylyn.org/
Add Bugzilla Versions and Milestones
- Add Bugzilla Milestones for the next release
- major release Add Bugzilla Version for the current release
- major release move all bugs from "next" milestones to the new milestones:
- https://bugs.eclipse.org/bugs/buglist.cgi?list_id=10853667&product=Mylyn&query_format=advanced&target_milestone=Next&tweak=1
- https://bugs.eclipse.org/bugs/buglist.cgi?list_id=10840631&product=Mylyn%20Tasks&query_format=advanced&target_milestone=Next&tweak=1
- https://bugs.eclipse.org/bugs/buglist.cgi?list_id=10152343&product=Mylyn%20Commons&query_format=advanced&target_milestone=Next&tweak=1
- https://bugs.eclipse.org/bugs/buglist.cgi?list_id=10152343&product=Mylyn%20Context&query_format=advanced&target_milestone=Next&tweak=1
- https://bugs.eclipse.org/bugs/buglist.cgi?list_id=10152351&product=Mylyn%20Reviews&query_format=advanced&target_milestone=Next&tweak=1
Update Project Plan
- major release Update release plans in https://projects.eclipse.org/projects/mylyn/documentation
- Create release bug for the next release
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
- In this document, major release generally means anything other than a service release