Thanks for your interest in contributing to gdbgui!
If your change is small, go ahead and submit a pull request. If it is substantial, create a GitHub issue to discuss it before making the change.
1.) nox is used to automate various tasks. You will need it installed on your system before continuing.
You can install it with pipx (recommended):
> pipx install nox
> pip install --user nox
Development can be done with one simple step:
> nox -s develop
Make sure you turn your cache off so that changes made locally are reflected in the page.
Running and Adding tests
runs all applicable tests and linting.
Python tests are in
gdbgui/tests. They are run as part of the above command, but can be run with
> nox -s python_tests
gdbgui/src/js/tests. They are run as part of the above command, but can be run with
> nox -s js_tests
Documentation is made with
mkdocs. Then make changes to
mkdocs.yml or md files in the
To build docs, run
nox -s docs
To see a live preview of current documentation, run
nox -s watch_docs
The generated documentation is published to the
nox -s publish_docs
Building Binary Executables
These are automatically built on CI, but can be built locally with corresponding
nox commands, such as:
nox -s build_executable_current_platform
Publishing a New Version
- Make sure the version number is incremented in
- The version to release must be on the master branch and have all CI tests pass and new binary executable artifacts attached to the GitHub action results
- Publish the package to PyPI and update documentation. Both are done with this
nox -s publish.
- Create a "release" in GitHub and attach the gdbgui binary executable artifacts to it.