Skip to content
This repository has been archived by the owner on Feb 5, 2023. It is now read-only.

Development workflow

Volodymyr Sobotovych edited this page Mar 14, 2021 · 2 revisions

Development Workflow

A project where more than one person takes up development needs a clear way of contributing. In an effort to make our development process as clear as possible we have prepared this small wiki entry.

Source Code Organization

This repository contains source code that was originally published at this repository. Hopefully once we are done with the improvements the code will be ported back into the "parent" repo.

Our repo has 3 main branches:

  • master -> The latest version (0.2.1) of the nttt tool that according to Nina is broken. We are not going to touch the branch. It’s there just for the ease of upcoming migration to the proper place.

  • stable -> The currently used version 0.1.0. Until we’re done with all the improvements (or at least a meaningful portion of them) this branch will stay intact. It’s needed as a pointer to our starting point and a quick way to revert in case something gets broken.

  • improvements -> This is the branch we’re going to implement our changes in. After those are implemented and tested we will merge it to the stable branch.

Working on Issues

  • Pick an issue from the repo's board.

  • Create a separate feature branch and implement your changes there, including unit tests.

  • Create pull request (PR) from the feature branch to improvements and ask someone from the team to review and to merge it. Remove the feature branch that is no longer needed once the proposed changes have been merged.

Supported Python version

It's very important to ensure that Python versions used for development, CI builds and for running the tool by users are consistent.

ASDF VM allows you to easily have multiple Python versions installed on your developer workstation. Moreover it's possible to set the required version in .tool-versions and it will be automatically used by asdf-vm's managed Python binaries.

Some useful commands:

# Add Python plugin
asdf plugin add python

# Install a Python version
asdf install python 3.7.10

Running the Unit Tests

In the root of the repository, run the following command: python -m unittest discover -s unit_test/ -v (replace python with python3, if necessary). This works on Windows, Linux and macOS.

Release process

Release process