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"
< Mylyn
Line 2: | Line 2: | ||
= Before the Release = | = 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 | ||
+ | * ''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 == | == Create a Branch == | ||
− | * Branch integration repository | + | * ''major release'' Branch integration repository |
git clone ssh://git.eclipse.org/gitroot/mylyn/org.eclipse.mylyn.all src-3_6_x | git clone ssh://git.eclipse.org/gitroot/mylyn/org.eclipse.mylyn.all src-3_6_x | ||
cd src-3_6_x | cd src-3_6_x | ||
Line 10: | Line 24: | ||
git submodule init | git submodule init | ||
git submodule update | git submodule update | ||
− | * Branch each sub-project | + | * ''major release'' Branch each sub-project |
git submodule foreach git checkout -b 3_7_m_3_6_x master | git submodule foreach git checkout -b 3_7_m_3_6_x master | ||
+ | * ''major release'' Request mylyn-3.6.x-release job on Hudson cloning an existing release job | ||
== Prepare Source Code == | == Prepare Source Code == | ||
Line 20: | Line 35: | ||
=== Update User Guide from the Wiki === | === Update User Guide from the Wiki === | ||
− | * Run org.eclipse.mylyn.help.ui/build-helper.xml as an Ant Build (ensure | + | * 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 | + | * Review the user guide and commit changes |
=== Update Copyright Notices === | === Update Copyright Notices === | ||
Line 31: | Line 46: | ||
* Merge changes from master in each branched module | * Merge changes from master in each branched module | ||
git merge master | git merge master | ||
+ | |||
+ | == Update Integration Repository == | ||
+ | * Update integration repository to point to latest sub-project revisions | ||
+ | cd src-3_6_x | ||
+ | ./update.sh | ||
== Run Tests == | == Run Tests == | ||
Line 38: | Line 58: | ||
== Update Target == | == Update Target == | ||
− | * Update target files to point to release sites | + | * 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 |
== Tag Sources == | == Tag Sources == | ||
Line 49: | Line 69: | ||
* Push tags | * Push tags | ||
git submodule forech git push --tags | git submodule forech git push --tags | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
== Build == | == Build == | ||
* 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 | ||
+ | ** Check publish | ||
+ | ** Enter timestamp for qualifier | ||
* Release build (manually): | * Release build (manually): | ||
TYPE=release TIMESTAMP=20110608-1400 mvn -f org.eclipse.mylyn/org.eclipse.mylyn.releng/pom.xml clean deploy | TYPE=release TIMESTAMP=20110608-1400 mvn -f org.eclipse.mylyn/org.eclipse.mylyn.releng/pom.xml clean deploy | ||
Line 70: | Line 82: | ||
== 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 | ||
− | * Check that all Orbit bundles are tracked | + | * 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] |
== 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 | ||
− | == Remove Old Integration Builds | + | == Prepare Download Area == |
− | rm ~/downloads/mylyn/ | + | * Log into Eclipse.org |
− | + | ssh build.eclipse.org | |
− | + | * Remove Old Integration Builds | |
− | cd ~/downloads/mylyn/ | + | rm -rf ~/downloads/mylyn/drops/3.6.0/I* |
+ | * Copy Release to archive.eclipes.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 | ~/releng/bin/update-metadata.sh | ||
* Check that the content.jar contains the following property: | * Check that the content.jar contains the following property: | ||
− | <property name="p2.mirrorsURL" value="http://www.eclipse.org/downloads/download.php?file=/mylyn/ | + | <property name="p2.mirrorsURL" value="http://www.eclipse.org/downloads/download.php?file=/mylyn/drops/.../v.../&protocol=http&format=xml"/> |
− | + | ||
− | + | ||
− | + | ||
== Update Release Repository Content == | == Update Release Repository Content == | ||
+ | * Log into Eclipse.org | ||
+ | ssh dev.eclipse.org | ||
* Update filters in ~/downloads/mylyn/releases/*/composite.index | * Update filters in ~/downloads/mylyn/releases/*/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 | ||
== Create API Baseline == | == Create API Baseline == | ||
− | * Create an API baseline zip | + | * ''major releases'' Create an API baseline zip |
~/releng/bin/create-api-profile.sh 3.6.0 v20110608-1400 | ~/releng/bin/create-api-profile.sh 3.6.0 v20110608-1400 | ||
== Update Website == | == Update Website == | ||
− | |||
* Update the version number on download page | * Update the version number on download page | ||
* Create a new section on download archive page | * Create a new section on download archive page | ||
− | |||
* Create a new section in the New & Noteworthy | * 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 [http://www.eclipse.org/projects/project-plan.php?projectid=mylyn project plan] in mylyn/docs | ||
== Update Babel == | == Update Babel == | ||
Line 121: | Line 133: | ||
== Update Marketplace Listings == | == Update Marketplace Listings == | ||
− | * [http://marketplace.eclipse.org/content/mylyn Mylyn] | + | * ''major releases'' [http://marketplace.eclipse.org/content/mylyn Mylyn] |
− | * [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 131: | Line 143: | ||
== Update Repository URL == | == Update Repository URL == | ||
− | * Edit URL in org.eclipse.mylyn-feature/feature.xml | + | * ''major release'' Edit URL in org.eclipse.mylyn-feature/feature.xml |
== Create Download Area == | == Create Download Area == | ||
Line 137: | Line 149: | ||
mkdir ~/downloads/mylyn/archive/3.7.0/ | mkdir ~/downloads/mylyn/archive/3.7.0/ | ||
setfacl -m user:hudsonBuild:rwx ~/downloads/mylyn/archive/3.7.0/ | setfacl -m user:hudsonBuild:rwx ~/downloads/mylyn/archive/3.7.0/ | ||
− | * | + | * ''major release'' Create snapshot sites |
cp -a ~/downloads/mylyn/snapshots/3.6 ~/downloads/mylyn/snapshots/3.7 | cp -a ~/downloads/mylyn/snapshots/3.6 ~/downloads/mylyn/snapshots/3.7 | ||
− | * | + | * ''major release'' Update composite site indices ~/downloads/mylyn/snapshots/*/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 | ||
setfacl -R -m user:hudsonBuild:rwx ~/downloads/mylyn/snapshots/* | setfacl -R -m user:hudsonBuild:rwx ~/downloads/mylyn/snapshots/* | ||
− | * | + | * ''major release'' Create Incubator site |
mkdir ~/downloads/mylyn/incubator/archive/3.7.0 | mkdir ~/downloads/mylyn/incubator/archive/3.7.0 | ||
setfacl -m user:hudsonBuild:rwx ~/downloads/mylyn/incubator/archive/3.7.0 | setfacl -m user:hudsonBuild:rwx ~/downloads/mylyn/incubator/archive/3.7.0 | ||
cp -a ~/downloads/mylyn/incubator/3.6 cp -a ~/downloads/mylyn/incubator/3.7 | cp -a ~/downloads/mylyn/incubator/3.6 cp -a ~/downloads/mylyn/incubator/3.7 | ||
− | * | + | * Update composite site ~/downloads/mylyn/incubator/3.7/composite.index |
~/releng/bin/create-composite.sh -r | ~/releng/bin/create-composite.sh -r | ||
setfacl -R -m user:hudsonBuild:rwx ~/downloads/mylyn/incubator/3.* | setfacl -R -m user:hudsonBuild:rwx ~/downloads/mylyn/incubator/3.* | ||
== Add Bugzilla Versions and Milestones == | == Add Bugzilla Versions and Milestones == | ||
− | |||
* Add Bugzilla Milestones for the next release | * Add Bugzilla Milestones for the next release | ||
+ | * ''major release'' Add Bugzilla Version for the current release | ||
== Update Project Plan == | == Update Project Plan == | ||
− | * Update versions and queries in all plan.xml documents | + | * ''major release'' Update versions and queries in all plan.xml documents |
− | * Update release plans in [https://dev.eclipse.org/portal/myfoundation/portal/portal.php portal] | + | * ''major release'' Update release plans in [https://dev.eclipse.org/portal/myfoundation/portal/portal.php portal] |
Revision as of 06:40, 9 August 2011
Contents
- 1 Before the Release
- 2 The Release
- 2.1 Update Target
- 2.2 Tag Sources
- 2.3 Build
- 2.4 Verify Update Site Contents
- 2.5 Test Install
- 2.6 Prepare Download Area
- 2.7 Update Release Repository Content
- 2.8 Create API Baseline
- 2.9 Update Website
- 2.10 Update Babel
- 2.11 Announce Release
- 2.12 Update http://eclipse.org/mylyn/updates.xml
- 2.13 Update Eclipse Info Center
- 2.14 Update Marketplace Listings
- 3 After the Release
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
- 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 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 3_7_m_3_6_x git submodule init git submodule update
- major release Branch each sub-project
git submodule foreach git checkout -b 3_7_m_3_6_x master
- major release Request mylyn-3.6.x-release job on Hudson cloning an existing release job
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, Project context menu > Fix Copyrights
Backport changes to the Platform Specific Branches
- Merge changes from master in each branched module
git merge master
Update Integration Repository
- Update integration repository to point to latest sub-project revisions
cd src-3_6_x ./update.sh
Run Tests
- Trigger a nightly build or run the AllTests suite
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
Tag Sources
- Tag the release as R_x_y_z (and R_x_y_z_e_3_3 if plug-ins are branched)
- 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 forech git push --tags
Build
- Release build (Hudson): https://hudson.eclipse.org/hudson/job/mylyn-release/
- Select release as the type
- Check publish
- Enter timestamp for qualifier
- Release build (manually):
TYPE=release TIMESTAMP=20110608-1400 mvn -f org.eclipse.mylyn/org.eclipse.mylyn.releng/pom.xml clean deploy
- Snapshot build (manually):
TYPE=weekly mvn -f org.eclipse.mylyn/org.eclipse.mylyn.releng/pom.xml clean deploy
Verify Update Site Contents
- Check that only approved features are on the update site
- Check that all Orbit bundles are tracked in approved CQs
Test Install
- Do a test install from http://download.eclipse.org/mylyn/snapshots/weekly
Prepare Download Area
- Log into Eclipse.org
ssh build.eclipse.org
- Remove Old Integration Builds
rm -rf ~/downloads/mylyn/drops/3.6.0/I*
- Copy Release to archive.eclipes.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 following property:
<property name="p2.mirrorsURL" value="http://www.eclipse.org/downloads/download.php?file=/mylyn/drops/.../v.../&protocol=http&format=xml"/>
Update Release Repository Content
- Log into Eclipse.org
ssh dev.eclipse.org
- Update filters in ~/downloads/mylyn/releases/*/composite.index
- Update release composite sites
cd ~/downloads/mylyn/releases/ ~/releng/bin/create-composite.sh -r
Create API Baseline
- major releases Create an API baseline zip
~/releng/bin/create-api-profile.sh 3.6.0 v20110608-1400
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
- Send announcement to mylyn-announce
- Post announcement to news group
Update http://eclipse.org/mylyn/updates.xml
- Edit /mylyn/notification.xml in website CVS
Update Eclipse Info Center
- Inform webmaster of new help plug-ins for the Eclipse info center
Update Marketplace Listings
- major releases Mylyn
- major releases Trac Connector
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
Update Repository URL
- major release Edit URL in org.eclipse.mylyn-feature/feature.xml
Create Download Area
- Create download directory in archive
mkdir ~/downloads/mylyn/archive/3.7.0/ setfacl -m user:hudsonBuild:rwx ~/downloads/mylyn/archive/3.7.0/
- major release Create snapshot sites
cp -a ~/downloads/mylyn/snapshots/3.6 ~/downloads/mylyn/snapshots/3.7
- major release Update composite site indices ~/downloads/mylyn/snapshots/*/composite.index
- Update snapshot sites
cd ~/downloads/mylyn/snapshots/ ~/releng/bin/create-composite.sh -r setfacl -R -m user:hudsonBuild:rwx ~/downloads/mylyn/snapshots/*
- major release Create Incubator site
mkdir ~/downloads/mylyn/incubator/archive/3.7.0 setfacl -m user:hudsonBuild:rwx ~/downloads/mylyn/incubator/archive/3.7.0 cp -a ~/downloads/mylyn/incubator/3.6 cp -a ~/downloads/mylyn/incubator/3.7
- Update composite site ~/downloads/mylyn/incubator/3.7/composite.index
~/releng/bin/create-composite.sh -r setfacl -R -m user:hudsonBuild:rwx ~/downloads/mylyn/incubator/3.*
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