admin/release-estimator/README.md
This tool monitors the HAProxy stable branches and calculates a proposed release date for the next minor release based on the bug fixes that are in the queue.
It can be easily installed with venv from python3
$ python3 -m venv ~/.local/venvs/stable-bot/
$ source ~/.local/venvs/stable-bot/bin/activate
$ pip install -r requirements.txt
And can be executed with:
$ ~/.local/venvs/stable-bot/bin/python release-estimator.py
release-estimator.py [-h] [--print] [--to-email TO_EMAIL]
[--from-email FROM_EMAIL] [--send-mail]
optional arguments:
-h, --help show this help message and exit
--print Print email only
--to-email TO_EMAIL Send email to <email>
--from-email FROM_EMAIL
Send email from <email>
--send-mail Send email
./release-estimator.py --print
./release-estimator.py --send-mail --from-email [email protected] --to-email [email protected]
For each version we check the age and apply the following logic:
Skip the release if it's:
For all other valid releases we will then collect the number of bug fixes in queue for each of the defined severity levels:
We'll then begin calculating the proposed release date based on the last release date plus the first commit date of the first bug fix for the defined severity level.
By default the proposed release dates use the following padding: (Can be modified in THRESHOLDS)
After we have a proposed release date we will assign a release urgency to it. As we get closer to the proposed release date the urgency level changes. By default the urgency levels and their times are: