From 196943f2235836a670e88fd928fbc59f4d59fad7 Mon Sep 17 00:00:00 2001 From: "David A. Wheeler" Date: Fri, 26 Jan 2018 00:26:36 -0500 Subject: [PATCH] Add release_process.md documentation and tweak makefile Document the release process, so we're more likely to do it correctly. Signed-off-by: David A. Wheeler --- makefile | 10 +++----- release_process.md | 59 ++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 62 insertions(+), 7 deletions(-) create mode 100644 release_process.md diff --git a/makefile b/makefile index f71fbb4..0d79503 100644 --- a/makefile +++ b/makefile @@ -2,12 +2,8 @@ # Released under the General Public License (GPL) version 2 or later. # (C) 2001-2017 David A. Wheeler. -# To change version number, edit this here, the beginning of the -# "flawfinder" script, flawfinder.spec, setup.py, and index.html. -# Then "make test-is-correct" to get the updated version number. -# To distribute, "make distribute && su && make rpm". -# Then use make my_install to install to website image. -# Eventually switch to using DistUtils to autogenerate. +# See "release_process.md" for release process, including +# how to change version numbers. NAME=flawfinder VERSION=2.0.6 @@ -123,7 +119,7 @@ distribute: clean flawfinder.pdf flawfinder.ps dist: distribute # This *creates* a PyPi distribution package. Use "upload-pypi" to upload it -pypi: distribute +pypi: python setup.py bdist_wheel --universal # NOTE: Only do this after running "make pypi" & being satisfied with it diff --git a/release_process.md b/release_process.md new file mode 100644 index 0000000..92cb8fe --- /dev/null +++ b/release_process.md @@ -0,0 +1,59 @@ +# Release process + +Here's information on how to release an update to flawfinder. + +## Changing version number + +You should really change the version number before changing anything else. +Make sure every release has a unique version number. + +To change version number, edit the following files: +makefile +flawfinder +flawfinder.spec +setup.py +index.html + +Then run: +make test && make test-is-correct # update version number in tests + +## Test it + +make check # Run tests in Python 2 and 3 + +## Tag version + +Once you're sure this is the *real* version, tag it: + +git tag VERSION +git push + +## Create tarball + +Run: + +~~~~ +make distribute +~~~~ + +## Post tarball + +Then post the tarball flawfinder-VERSION.tar.gz to +the usual places: + +* SourceForge "files" directory, and set it to be the default download. +* dwheeler.com/flawfinder + +## Post to pip + +Create a PyPi distribution package: + +~~~~ +make pypi +~~~~ + +And upload it: + +~~~~ +make upload-pypi +~~~~