Skip to content

Shipping a new release

andresriancho edited this page Feb 9, 2013 · 16 revisions

Building a new package

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

Create distributable package

For *nix systems

# Get the package generator
git clone ...
# Generate the package, the script reads the version from version.txt
./make_bz2.sh /home/user/workspace/w3af/

After running this command we have a new file named "w3af-.tar.bz2" in the current directory. Then you need to run a short unittest on the package to verify everything's fine:

# This script unpacks the bz2 in /tmp/ and runs basic unittests
./unittest.sh w3af-1.5.tar.bz2

For Windows

Create the Windows installer following this guide.

Upload the files to w3af.org

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

And update the downloads page.

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!