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"
(→Prepare Build Environment) |
|||
Line 44: | Line 44: | ||
== Update Integration Repository == | == Update Integration Repository == | ||
TBD (No subprojects under R4E) | TBD (No subprojects under R4E) | ||
+ | |||
+ | == 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 | ||
== Run Tests == | == Run Tests == | ||
− | + | Make sure all test pass | |
− | = | + | == Push Updates == |
+ | Commit and push any updates performed during preparation to eclipse.org e.g. "origin" | ||
− | == | + | = The Release = |
− | + | ||
== Build == | == Build == |
Revision as of 12:18, 11 January 2013
Contents
General
This document is based on Mylyn Release Howto
This document is targeting minor releases and needs to be completed to cover Major releases as R4E moves out of incubation.
NOTE: In contrast to Mylyn Release Howto, this "Howto" document does not perform the actual source repository updates in a cloned copy at build.eclipse.org. <br\>Any changes need to be performed in a local cloned source repository and pushed to the server before the actual build takes place.
Before the Release
Prepare Build Environment
It's recommended to perform all build activities on a Linux environment in order to take advantage of the utility scripts available.. Ideally this utility scripts can be converted to maven java utilities in order to make the build activities portable.
clone a fresh copy of the source repository:
> git clone ssh://aUser@git.eclipse.org/gitroot/r4e/org.eclipse.mylyn.reviews.r4e.git r4e_build_date > cd r4e_build_date
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 (under the r4e source repository) to find files without copyrights
tools/findNotCopyRight
Backport changes to the Platform Specific Branches
TBD
Update Integration Repository
TBD (No subprojects under R4E)
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
Run Tests
Make sure all test pass
Push Updates
Commit and push any updates performed during preparation to eclipse.org e.g. "origin"
The Release
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-reviews-dev
- Send announcement to mylyn-announce
- Post announcement to news group
- Post announcement to r4e blog
Update Eclipse Info Center (major release)
- Inform webmaster of new help plug-ins for the Eclipse info center
After the Release
Update Versions
- Bump up versions to next release using the following script available from the r4e source repository
"tools/update-versions.sh"
Create New Download Area
TBD - The following steps are not being used at the moment although might be needed as we maintain release branches see base document for details
- Create download directory (TBD)
- major release Create snapshot site
Add Bugzilla Versions and Milestones
From the Eclipse portal
- 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 (from web repository)
- major release Update release plans in portal