Contribution Guide
Contributions are welcome, please open any PR you wish in this project’s Github repo!
Project TODO
TBD
The Makefile
Most of this project’s repeatable tasks are managed by the Makefile
. There is a make help
command that can be run to display a list of available make commands and a simple help message describing what they do.
More complex tasks are stored in the scripts
folder and are called from the Makefile
. But the scripts may still be used standalone.
Dev Environment
A Pipfile is included in this project to enforce a consistent dev environment. Install it with the pipenv
tool, or use the Makefile:
make setup
Testing
There is a pytest
test suite for this project in the tests/
directory. You can run it with the project’s Makefile or directly with pytest
:
make tests
pytest tests/ -svx
Building and Releasing
The build/release process is managed by the Makefile. Building can be done without releasing, but releasing always forces a fresh build, even if it rebuilds the same exact code. A VERSION
argument is required when releasing, but not when building.
Make sure that all changes are committed before releasing. git commit
and git push
are run, so any staged changes, or uncommitted changes in certain folders, may be committed by accident.
Build:
make build
The above command only builds the stormlibpp
Python package. To build the Storm Packages included in StormLib++, run the command:
make build-storm
Release:
make release VERSION=1.2.3
Docs
This documentation is built with Sphinx and is configured in the doc
folder. Documentation is automatically built everytime that make release
is executed. But they may also be built separately using this command:
make docs
There is also a Makefile command to open the current version of the docs locally:
make read-docs