| Version 3 (modified by euzuro, 7 years ago) |
|---|
OpenLayers Release Procedure
Let us say that for the release in question, x is the API Version and y the incremental release number.
- Push all remaining open tickets out of the current release's milestone. A Release procedure must be started with all the milestone's tickets closed.
- A vote must be passed by the SteeringCommittee to start a new release procedure.
- Create a new branch
svn copy /trunk/openlayers /branches/openlayers/x.y
- Make a Trac query to see a list of all the tickets that were closed for this release's milestone.
http://trac.openlayers.org/query?milestone=x.y+Release&resolution=fixed&order=component
- Based on the list from the previous step, create a new ReleaseNotes wiki for the new release. The wiki should be named Release/x.y/Notes.
For a good example, see Release/2.2/Notes
- Release Candidate (RC) Cycle
Let us say that for the RC in question, Z is the incremental release candidate number (starting with 1)
- Compile a Release Announcement. The announcement should be located at Release/x.y/Announce/RCZ and should include one of the following:
- If this is the first RC (Z is 1): A link to the Release/x.y/Notes wiki, and a brief summary of its contents.
- If this is not the first RC, then: A brief summary of all of the tickets that were fixed in the last RC.
This should be a summary of the following trac query (where we let W be the previous RC number, i.e. Z-1):http://trac.openlayers.org/query?status=closed&version=x.y+RCW&milestone=x.y+Release&resolution=fixed&order=priority
- Give the Release Announcement and the Release Candidate to the official MetaCartaOpenLayersRepresentative for inspection.
(Until MetaCarta transfers OpenLayers copyright to a community host.)- If approval is not granted, the conflicting code must be removed. Do not release the RC. Restart entire release process from beginning.
- If approval is not granted, the conflicting code must be removed. Do not release the RC. Restart entire release process from beginning.
- Replace all instances in the lib directory of "http://svn.openlayers.org/trunk/openlayers/repository-license.txt" with "http://svn.openlayers.org/trunk/openlayers/release-license.txt"
- Tag the release:
svn cp http://svn.openlayers.org/branches/openlayers/x.y http://svn.openlayers.org/tags/openlayers/release-x.y-rcZ
- Export and Build the single file version:
svn export http://svn.openlayers.org/tags/openlayers/release-x.y-rcZ OpenLayers-x.y-rcZ cd OpenLayers-x.y-rcZ/build ./build.sh
- Create a new API release directory on openlayers.org and install the build
mkdir /www/openlayers/htdocs/api/x.y-rcZ cd .. cp build/OpenLayers.js /www/openlayers/htdocs/api/x.y-rcZ cp -a img/ /www/openlayers/htdocs/api/x.y-rcZ cp -a theme/ /www/openlayers/htdocs/api/x.y-rcZ
- Build the tarball and copy it up to openlayers.org
# First remove all .pyc files from the directory. rm tools/*.pyc cd .. tar cvfz OpenLayers-x.y-rcZ.tar.gz OpenLayers-x.y-rcZ/ cp OpenLayers-x.y-rcZ.tar.gz /www/openlayers/htdocs/download
- Email the Release Announcement to the dev list
- Testing Cycle -- in which users and developers:
- Report new tickets
- Milestone: x.y Release
- Version: x.y RCZ
- Fix outstanding tickets:
- Commit only to trunk
- Mark keyword pullup as they still need to be pulled up to the branch
- Do not mark as closed (i.e. leave them open)
- Run all tests in both Firefox 1.5 and IE 6.
- If any tests fail, return to Testing Cycle and report a new ticket.
- If all tests pass, a committer may send a proposal email to the dev list calling for:
- A new RC:
- The support of at least one other committer must be obtained.
- The committer chooses which patches to include in the the new RC or Final Release.
These should be taken from the the results of the following trac query:http://trac.openlayers.org/query?milestone=x.y+Release&keywords=%7Epullup&order=priority
- Bring up each ticket's patch from trunk into the branch
- Remove pullup keyword from ticket
- Add brief summary of the change to the Release/x.y/Notes wiki
- Mark ticket closed
- Committer exits Testing Cycle, starts new Release Candidate Cycle
- The Final Release:
- All tickets for the milestone must be closed in the previous RC and no new tickets opened in the current one.
- A successful voting round must pass the SteeringCommittee.
- SteeringCommittee member exits the Testing Cycle and Release Candidate Cycle and proceeds to the next step, Review the Release/x.y/Notes wiki...
- A new RC:
- Report new tickets
- Compile a Release Announcement. The announcement should be located at Release/x.y/Announce/RCZ and should include one of the following:
- Review the Release/x.y/Notes wiki and make sure it contains important info from all the closed tickets for the Release x.y milestone:
http://trac.openlayers.org/query?group=component&milestone=x.y+Release&resolution=fixed&order=priority
- Give the Final Release Candidate to the official MetaCartaOpenLayersRepresentative for inspection.
(Until MetaCarta transfers OpenLayers copyright to a community host.)- If approval is not granted, the conflicting code must be removed. Do not release the RC. Restart entire release process from beginning.
- If approval is not granted, the conflicting code must be removed. Do not release the RC. Restart entire release process from beginning.
- Replace all instances in the lib directory of "http://svn.openlayers.org/trunk/openlayers/repository-license.txt" with "http://svn.openlayers.org/trunk/openlayers/release-license.txt"
- Tag the release:
svn cp http://svn.openlayers.org/branches/openlayers/x.y http://svn.openlayers.org/tags/openlayers/release-x.y
- Export and Build the single file version:
svn export http://svn.openlayers.org/tags/openlayers/release-x.y OpenLayers-x.y cd OpenLayers-x.y/build ./build.sh
- Create a new API release directory on openlayers.org and install the build
mkdir /www/openlayers/htdocs/api/x.y cd .. cp build/OpenLayers.js /www/openlayers/htdocs/api/x.y cp -a img/ /www/openlayers/htdocs/api/x.y cp -a theme/ /www/openlayers/htdocs/api/x.y
- Build the tarball and copy it up to openlayers.org
# First remove all .pyc files from the directory. rm tools/*.pyc cd .. tar cvfz OpenLayers-x.y.tar.gz OpenLayers-x.y/ cp OpenLayers-x.y.tar.gz /www/openlayers/htdocs/download
- Install the new API code on openlayers.org
ln -sf /www/openlayers.org/htdocs/api/x.y/OpenLayers.js /www/openlayers/htdocs/api ln -sf /www/openlayers.org/htdocs/api/x.y/img /www/openlayers/htdocs/api ln -sf /www/openlayers.org/htdocs/api/x.y/theme /www/openlayers/htdocs/api ln -s /www/openlayers.org/htdocs/api/x.y/ /www/openlayers.org/htdocs/api/x/
- Update API documentation -- This process still needs to be flushed out
- Email the dev and users lists and announce the release containing:
- A link to the Release/x.y/Notes wiki
- A summary of the major features and bug fixes for the release
