Jump to: navigation, search

How to create a release of EMFStore

How to create a milestone release of EMFStore and ECP

  • Commit with a message such as "release 0.8.9.M945" and push your changes to the emfstore.core repository.
  • Wait for the hudson job to recognize these changes (currently <= 5 minutes) and build.
  • Download the artifact site.p2 as a zip-file from the build that was triggered by your commit (look for your commit message).
  • Using scp (or WinScp) login with your Eclipse committer account at dev.eclipse.org, and move the content of /home/data/httpd/download.eclipse.org/emf-store/milestones/latest to /home/data/httpd/download.eclipse.org/emf-store/milestones/archive into a new subfolder named after the version, e.g. 0.8.9.M944, if it does not yet exist. You might have to download and re-upload, if the server does now allow you to move files.
  • Upload the unpacked zip-file and the zip-file itself to /home/data/httpd/download.eclipse.org/emf-store/milestones/latest

How to create a final release of EMFStore and ECP

To release a final version, you need to replace the version numbers manually and drop the qualifier:

  • Increase the version milestone number globally for all MANIFEST.MF and features.xml files in all repositories, e.g. if you currently have version 0.8.9.qualifier in, your workspace you would end up with 0.9.0.
  • Proceed with hudson and the upload of the build as with the milestone release, but use the directory releases instead of milestones
  • Switch back the relase to the continuous integration versioning scheme by adding the qualifier to the release version. For example, if you currently have version 0.9.0 in your workspace, you would end up with 0.9.0.qualifier.
  • Update project metadata on the release in portal: Mark as completed, add download and News and Noteworthy url, add planned next release
  • Update marketplace entrys: http://marketplace.eclipse.org/content/emfstore-0
  • Tweet about the new release, use the hashtag #emfstore :)

For all releases

  • Commit and push.
  • Create tags:
git tag -a x.x.x -m 'Release x.x.x'
git push --tags

Unresolved issues

  • Currently, there is still a known bug that prevents hudson from building the repository if there are no new changes since the last build. In this case the build will fail with the message "Nothing to do". Therefore, try not to build manually but commit a dummy-change to trigger the build.
  • "Wiping out workspace first. java.io.IOException: Unable to delete /opt/users/hudsonbuild/.hudson/jobs/emf-emfstore-integration/workspace [...]". This means that a file in the workspace is currently locked by a process on the server. Resolution: Try again later (you can trigger the deletion of the workspace manually from within Hudson).
  • "ERROR: Failed to join the process Looks like the node went offline during the build. Check the slave log for the details." Resolution: Try again later

See also

  • How to clone a git repository [2]
  • EMFStore changelog [3]
  • ECP changelog [4]