2018-01-26 06:26:36 +01:00
|
|
|
# Release process
|
|
|
|
|
|
|
|
Here's information on how to release an update to flawfinder.
|
|
|
|
|
|
|
|
## Changing version number
|
|
|
|
|
2019-01-22 00:54:01 +01:00
|
|
|
Ensure that the version number is the intended final value.
|
2018-01-26 06:26:36 +01:00
|
|
|
Make sure every release has a unique version number.
|
|
|
|
|
|
|
|
To change version number, edit the following files:
|
|
|
|
makefile
|
|
|
|
flawfinder
|
|
|
|
flawfinder.spec
|
|
|
|
setup.py
|
2019-01-22 00:54:01 +01:00
|
|
|
index.html # in dwheeler.com/flawfinder
|
2018-01-26 06:26:36 +01:00
|
|
|
|
2021-01-09 19:55:24 +01:00
|
|
|
Then run several times:
|
2019-01-21 23:30:28 +01:00
|
|
|
|
|
|
|
~~~~
|
2021-01-09 19:55:24 +01:00
|
|
|
make test ; make test-is-correct # update version number in tests
|
2019-01-21 23:30:28 +01:00
|
|
|
~~~~
|
2018-01-26 06:26:36 +01:00
|
|
|
|
|
|
|
## Test it
|
|
|
|
|
2019-01-21 23:30:28 +01:00
|
|
|
~~~~
|
|
|
|
make check # Run tests in Python 2 and 3
|
|
|
|
~~~~
|
2018-01-26 06:26:36 +01:00
|
|
|
|
2021-01-09 19:55:24 +01:00
|
|
|
## Commit it
|
|
|
|
|
|
|
|
~~~~
|
|
|
|
git commit -asv
|
|
|
|
~~~~
|
|
|
|
|
2018-01-26 06:26:36 +01:00
|
|
|
## Tag version
|
|
|
|
|
|
|
|
Once you're sure this is the *real* version, tag it:
|
|
|
|
|
2019-01-21 23:30:28 +01:00
|
|
|
~~~~
|
|
|
|
git tag VERSION
|
2019-01-22 00:54:01 +01:00
|
|
|
git push --tags origin # SourceForge
|
|
|
|
git push --tags github # GitHub
|
2019-01-21 23:30:28 +01:00
|
|
|
~~~~
|
2018-01-26 06:26:36 +01:00
|
|
|
|
|
|
|
## Create tarball
|
|
|
|
|
|
|
|
Run:
|
2019-01-21 23:30:28 +01:00
|
|
|
|
|
|
|
~~~~
|
|
|
|
make distribute
|
|
|
|
~~~~
|
2018-01-26 06:26:36 +01:00
|
|
|
|
|
|
|
|
|
|
|
## 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
|
|
|
|
|
2019-01-22 00:54:01 +01:00
|
|
|
Do this *before* creating the PyPi distribution package for pip.
|
|
|
|
|
2018-01-26 06:26:36 +01:00
|
|
|
## Post to pip
|
|
|
|
|
2019-01-22 00:54:01 +01:00
|
|
|
First, install the programs to create a PyPi distribution package
|
|
|
|
if they are not already installed. On Cygwin first run:
|
|
|
|
|
|
|
|
~~~~
|
|
|
|
python -m ensurepip
|
|
|
|
pip install --upgrade pip
|
|
|
|
pip install wheel
|
|
|
|
pip install twine
|
|
|
|
~~~~
|
|
|
|
|
|
|
|
Then create a PyPi distribution package (for Python2 and Python3):
|
2018-01-26 06:26:36 +01:00
|
|
|
|
2019-01-21 23:30:28 +01:00
|
|
|
~~~~
|
|
|
|
make pypi
|
|
|
|
~~~~
|
2018-01-26 06:26:36 +01:00
|
|
|
|
2019-01-22 00:54:01 +01:00
|
|
|
Now upload the PyPi distribution package:
|
2018-01-26 06:26:36 +01:00
|
|
|
|
2019-01-21 23:30:28 +01:00
|
|
|
~~~~
|
|
|
|
make upload-pypi
|
|
|
|
~~~~
|
2019-01-22 00:54:01 +01:00
|
|
|
|
|
|
|
## After it's uploaded
|
|
|
|
|
|
|
|
Change the version number in the repo NOW, so that there will not
|
|
|
|
be two different released versions with the same version number.
|
|
|
|
See the list at the beginning of this document for the list of
|
|
|
|
files to change.
|