Skip to content

Contributing To Burst

datahub-projects edited this page Jan 25, 2022 · 23 revisions

As a FOSS (Free and Open Source Software) project, burst development is community-based. Anyone is free to fork the code, fix bugs, add features and so on. Burstable AI will maintain this repository and review PR's (Pull Requests) posted here on the github repo.

When contributing PR's, please make sure your code is "Able to merge" according to github before you create the PR.

More information can be found here: about pull requests

and especially here: PR from fork

Clarification: the docs say Note: To open a pull request in a public repository, you must have write access to the head or the source branch

What this means is: in your fork, select create pull request and you should see an option to create a PR from your fork/branch to the upstream (burstable-ai) repository. You may have to manually select compare across forks and select your local branch. PR's should always target the dev branch of the upstream repo -- we prefer for main to track the latest versioned stable release.

The BDFL (presently danx0r) or a deputized Burstable AI maintainer will review your PR and either accept it, or add comments for your reflection.

Setting up a development environment

burst is developed as a Pypi (pip) installable Python module. We strongly recommend that you install and develop burst in a virual environment, using virtualenv. how to set up a Python virtual environment

To develop and test your version of burst, clone your github fork using the following command. Replace githubuser with your github user name:

git clone git@github.com:githubuser/burst.git
cd burst
git checkout dev

Next, set up a virtual environment so the installation is sandboxed:

virtualenv venv -p python
. ./venv/bin/activate

Now, install burst into your virtual environment:

pip3 install -e .

This should install the latest version of burst as a python module and command line tool. You can edit code, git commit, pull and push from here and the burst command will reflect your changes.

We recommend the use of issue-related branches for pull requests. For instance, if you are implementing a feature outlined in issue #23, create a branch in your forked environment called issue_23.The branch should derive from dev. Once you have implemented & tested your branch, push it to your repo, and select Create pull request under pull requests then select:

base repository:burstable-ai/burst base:dev

on the left of the arrow, and

head repository:yourgithub/burst compare:issue_23

on the right-hand side. If you see Ready to merge, create the PR.

Synchronizing your fork

To keep your fork up-to-date with the burstable-ai repository, add an upstream origin:

git remote add upstream https://github.com/burstable-ai/burst

Then, when you want to catch up with the upstream repository, first make sure you are on the dev branch:

git fetch
git checkout dev

Then pull from the upstream repo:

git pull upstream dev
Clone this wiki locally