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 "Reviews/R4E/Release Howto"
(→Update Website) |
(→Update Website) |
||
Line 108: | Line 108: | ||
* Create a new section on download archive page [TBD] | * Create a new section on download archive page [TBD] | ||
* Create a new section in the New & Noteworthy | * Create a new section in the New & Noteworthy | ||
+ | * Archive [http://www.eclipse.org/projects/project-plan.php?projectid=mylyn.reviews.r4e project plan] in the r4e web repository under "plans" | ||
* ''major releases'' Add a link to the new API baseline on the download archive page and update the developer page | * ''major releases'' Add a link to the new API baseline on the download archive page and update the developer page | ||
− | |||
== Update Babel == | == Update Babel == |
Revision as of 14:50, 10 January 2013
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.
Contents
- 1 Before the Release
- 2 The Release
- 2.1 Update Targets
- 2.2 Build
- 2.3 Verify Update Site Contents
- 2.4 Prepare Download Area
- 2.5 Test Install
- 2.6 Tag Sources
- 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
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
- Release build (Hudson): https://hudson.eclipse.org/hudson/job/mylyn-reviews-r4e-release/
- Update configuration
- Under Build-> Invoke Maven, update the -DforceContextQualifier to reflect the time stamp associated to the release version
- Build and make sure all tests pass
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:
- Update the downloads update site to include the p2.mirrorsURL
<property name="p2.mirrorsURL" value="http://www.eclipse.org/downloads/download.php?file=/r4e/drops/....v..../&format=xml"/>
Test Install
- Do a test install from http://download.eclipse.org/r4e/updates/
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 [TBD]
- Create a new section in the New & Noteworthy
- Archive project plan in the r4e web repository under "plans"
- major releases Add a link to the new API baseline on the download archive page and update the developer page
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