How To Contribute¶
pVACtools is an open-source project. We enthusiastically welcome outside contributions.
The pVACtools source code is hosted on GitHub. Code changes are made via pull requests to the main repository. The First Contributions project has a neat guide of all the steps involved.
One thing to note is that the pVACtools project uses staging
and
hotfix
branches to manage major/minor and patch releases, respectively.
Depending on the type of your contribution you will
need to branch your change branch off of either staging
for new features
or hotfix
for bugfixes and use one these two branches as the base branch
of your pull request. Pull requests should never be made to the master
branch.
The pVACtools projects uses milestones to assign issues to specific releases. Each milestone is named with a version number, which indicates the version of the upcoming release. Upcoming milestones/versions can be found here. An issue in an open milestone may be closed if the respective feature has been addressed (i.e. added via a merged pull request), even though the release for the open milestone has not been made yet. Therefore, a closed issue does not indicate that a feature is already available in a release yet. We urge users to also search closed issues for any problem they may encounter and to check whether a desired feature addition has already been made but isn’t released yet.
Updating documentation pages¶
If you wish to make a suggested fix/improvement to the documentation for pVACtools, all documentation exists in the github pVACtools repo in the docs sub directory. The pVACtools docs are built using sphinx and published using readthedocs. You can either install sphinx locally on your system or you can use the pVACtools docker image. Sphinx allows you to build a local copy of the docs and see how the build looks in your browser before you commit/push and submit a pull request. The following instructions detail how to run sphinx from the pVACtools docker container and view changes in the brower on your host system.
The following instructions assume: (1) that you already have Docker installed and running on your sytem and (2) that you have a clone of the pVACtools github repository.
The following docker run
command publishes port 8000 in the docker
image so that we can access services on this port from the host machine.
It also mounts the location of the pVACtools git repo clone on the host machine to a location within the docker image. “~/git/pVACtools/” in this example should be updated to the location of your clone of the repo on your system.
After launching the Docker image, we will install sphinx and its dependencies
using pip install
.
Finally, we will use sphinx-autobuild
to build the docs website.
Once sphinx completes the build, you can view the docs website in a web browser
on your system. As you make edits to the docs files (e.g. .rst files) the updates
should automatically build and be viewable.
docker pull griffithlab/pvactools
docker run -p 8000:8000 -v ~/git/pVACtools/:/opt/git/pVACtools -it griffithlab/pvactools
pip install sphinx sphinx-autobuild sphinx-fontawesome sphinxcontrib-images sphinxjp.themes.basicstrap sphinxcontrib.programoutput
cd /opt/git/pVACtools/docs/
sphinx-autobuild --host 0.0.0.0 --port 8000 ./ ./_build/html
To view the updated docs site in your web browser go to: http://0.0.0.0:8000/. Once you are satisfied, submit a pull request as described above.