Skip to content

Shipping a new release

andresriancho edited this page Feb 15, 2013 · 16 revisions

Building a new package

The steps for building a new distributable package change a lot depending on the target operating system. That's why we've split this document into the different platforms:

Common steps

Only core w3af developers and package maintainers (like Debian, Fedora, FreeBSD package maintainers) will find this section useful, these are the main steps that we'll go through:

  • Create the release branch
  • Set release version
  • Update the CHANGELOG file
  • Create the source code documentation using Sphinx
  • Create distributable package
  • Upload the files to w3af.org
  • Run final git flow commands
  • Community tasks related to a release

Create the release branch

Choose a version number and then run the following command:

git flow release start <version-number>

Set release version

Setting the version for the next release is trivial, just change the core/data/constants/version.txt file to the required version.

Update the changelog

Each release is associated with a milestone, when updating the readme/CHANGELOG use the issues in the milestone as a source for the CHANGELOG.

(15 Feb 2013)    Version 1.5
============================
Github tag: https://github.com/andresriancho/w3af/tree/1.5
Github milestone: https://github.com/andresriancho/w3af/issues?milestone=2

* Change A
* Change B
...
* Change N

Create source code documentation

  1. Run Sphinx
  2. Upload the generated code to w3af.org

Upload the files to w3af.org

scp w3af-v1.5.bz2 [email protected]:/var/www/...
scp w3af-v1.5.bz2.md5sum [email protected]:/var/www/...

And update the downloads page in w3af.org.

Run final git flow commands

Run these commands to merge the release branch into master and tag it.

git flow release finish
git flow release publish <version-number> - "Tagging the 1.5 release of the w3af project."

Community tasks related to a release

Let the community know about this new release!