Development Guide¶
Quick development setup¶
Clone upstream git repository:
$ git clone https://github.com/release-engineering/waiverdb.git
$ cd waiverdb
If you plan to fix issues or implement new features, create fork. Then update “upstream” and “origin” remotes:
$ git remote rename origin upstream
$ git remote add origin git@github.com:$USER/waiverdb.git
Install packages required by pip to compile some python packages:
$ sudo dnf install swig openssl-devel cpp gcc
Install dependencies in a virtual environment:
$ poetry install
Run the server:
$ cp conf/settings.py.example conf/settings.py
$ DEV=true poetry run waiverdb run -h localhost -p 5004 --debugger
Migrate the db:
$ DEV=true poetry run waiverdb db upgrade
The server is now running at on localhost port 5004. Consult the
REST API for available API calls. All data is stored inside
/var/tmp/waiverdb_db.sqlite
.
Adjusting configuration¶
You can configure this app by copying conf/settings.py.example
into
conf/settings.py
and adjusting values as you see fit. It overrides default
values in waiverdb/config.py
.
Running test suite¶
To test against all supported versions of Python, you can use tox:
$ sudo dnf install python3-tox
$ tox
Building the documentation¶
You can build the documentation locally with tox -e docs
or:
$ cd docs
$ make html
To view the documentation:
$ firefox _build/html/index.html