Skip to content

Releasing Andmore

Kaloyan Raev edited this page Mar 23, 2016 · 8 revisions

The Andmore project has the following release artifacts through it's process.

  • Nightly
  • Milestones
  • Releases

The project follows the git-flow methodology for working with Git repositories to manage the releases.

The develop branch houses the main development code line, master contains stable code from milestones and releases. A release branch represents a potential release to be be given to the public. This could be a milestone or a official stable release. When it is determined that a release branch is ready for public consumption it is merged to master and develop, and is tagged.

Milestone Releases

Procedure:

  1. Start a new release branch (e.g. release/0.5-M4) using the GitFlow > Start Release action.
  2. Publish the new release branch to the GitHub repository using the GitFlow > Publish Release action.
  3. Trigger the Andmore-Release build job. The job is a parameterized build. It takes the name of the release branch to deploy. It will not run tests, and skips running find bugs reports as well. It will copy the output to the andmore/milestone/$RELEASE_VERSION directory, were $RELEASE_VERSION is the name of the release branch that was entered.
  4. Update the CHANGES.md file in the release branch.
  5. Finish the release branch using the GitFlow > Finish Release action. It will create a new tag (e.g. 0.5-M4) and it will merge the release branch into the master and develop branches. All changes will be done only in the local repository.
  6. Push the release tag and the master and develop branches to the GitHub repository.
  7. Create a new release in the GitHub repository from the release tag.
  8. Update the http://download.eclipse.org/andmore/latest composite update site with the new Andmore milestone. This update site is registered in the Eclipse Marketplace.
  9. Update the Simultaneous Release with the new Andmore milestone.
  10. Create new target milestone for the next milestone in Bugzilla. Move all unresolved bugs from to the next milestone.

Releases

Releases are official stable releases that anybody can use for daily use. They will eventually also use the Release job.

Composite Repositories

Eventually we'll have composite repositories so that as new milestones are released, people can use the composite repository to potentially roll back to prior releases if necessary. More details to come.