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
(→Update Release Repository Content) |
(→Prepare Download Area) |
||
Line 101: | Line 101: | ||
* Remove Old Integration Builds | * Remove Old Integration Builds | ||
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 | ||
* 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 |
Revision as of 18:38, 27 March 2014
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 Update Discovery Jar
- 2.6 Test Install
- 2.7 Prepare Download Area
- 2.8 Update Release Repository Content
- 2.9 Create API Baseline
- 2.10 Update Website
- 2.11 Update Babel
- 2.12 Announce Release
- 2.13 Update http://eclipse.org/mylyn/updates.xml
- 2.14 Update Eclipse Info Center
- 2.15 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)
./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
- 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):
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
Update Discovery Jar
Run org.eclipse.mylyn/org.eclipse.mylyn.discovery-directory/build-helper.xml to produce a new jar (check that the listings are up to date first). Then copy org.eclipse.mylyn.discovery.jar to ~/downloads/mylyn/discovery/, renaming it with the Mylyn version.
Test Install
- Do a test install from http://download.eclipse.org/mylyn/snapshots/weekly
- Test that any changes to discovery show up
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
- 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 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
- 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
- Update release composite sites
cd ~/downloads/mylyn/releases/ ~/releng/bin/create-composite.sh -r cp -r 3.6 latest
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
- 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