Skip to content

Preparing a new release

Daniel Martin edited this page Feb 14, 2017 · 1 revision

This page contains information on how to prepare a new release from the source repositories.

We will assume you have an understanding of Dradis git structure and are comfortable Working with git. It will be handy if you are familiar with Dradis versioning scheme as well.

Prepare the code

Review the release process of our Git branching model (in particular the “Finishing a release branch” section): http://nvie.com/posts/a-successful-git-branching-model/

If you already have a “release-” branch, skip these steps, otherwise create it:

$ git checkout -b release-3.0

If you made a mistake and created some of these pre-release commits in the “develop” branch, move them to the “release-” branch as explained here: http://stackoverflow.com/questions/1628563/how-can-i-move-recent-commits-to-a-new-branch-with-git

Once you have a “release-” branch, do the following in it:

  • Review the CHANGELOG
  • Adjust the version in lib/core/version.rb

Commit changes to "release-X.Y" branch.

Once you’re happy with the changes, merge them back to “master” and push to GitHub:

$ git checkout master
$ git merge --no-ff release-X.Y
$ git tag -a vX.Y.Z -m “Dradis Framework vX.Y.Z”
$ git push --tags origin master

And to “develop”:

$ git checkout develop
$ git merge --no-ff release-X.Y
$ git push origin develop

If you are preparing a "release candidate" package, do not delete the "release-X.Y" branch from the repo and push it to GH:

$ git push origin release-X.Y

If this is a final release, delete the “release-” branch with:

$ git branch -d release-X.Y
$ git push origin :release-X.Y

Preparing the source packages

Starting on v3.0 Dradis is using the excellent Traveling Ruby framework to provide downloadable packages.

Create the packages:

cd dradisframework/

Follow these instructions:

https://github.com/dradis/dradisframework/tree/master/packaging

Remeber to take the SHA256 sum of the archives for the website:

sha256sum dradis-vX.Y.Z.tar.* 

Update the website (outdated, needs review)

  • ./public/sha256sum
  • Edit announcement on the home page and a new blog post
  • ./app/views/pages/download.html.erb [check SF.net links and "latest release"]
  • ./app/views/pages/CHANGELOG.html.erb
  • ./app/views/pages/release_timeline.html.erb
  • ./app/views/pages/roadmap.html.erb (Have we closed some of the pending issues?)

TODO

  • Howto upload to SourceForge
  • Howto release in Freshmeat