Creating a new release =========================== This is an advanced developer section that describes creation of a new release for fairops and deploying that release onto PyPi_ .. note:: THESE INSTRUCTIONS ARE FOR DOING A RELEASE ONLY AND NOT FOR REGULAR COMMITS .. warning:: **Releases should be done from main_ branch** Testing -------- Before deploy verify code is working by invoking: .. code-block:: make coverage The above command runs the unit tests and calculates code coverage of the unit tests. To just run tests: .. code-block:: make test All tests should pass .. code-block:: make lint Lint should not complain Committing code ------------------- Before doing a release, the code must be assigned a new :ref:`versioningscheme:Versioning Scheme` First run **git tag** to find the latest version. Pick the next highest version number. The tags in github start with v because versions cannot start with numeric value. **git tag example:** .. code-block:: $ git tag v0.2.0 v0.3.0 v0.4.0 .. note:: Versions should adhere to this :ref:`versioningscheme:Versioning Scheme` Versions are auto-generated by build pipeline based on the git tag name. Commit the above changes and push to **main**: .. code-block:: git commit -m 'message...' fairops/__init__.py git push origin main Tagging code ---------------- Now tag source with version: .. code-block:: git tag -a v0.4.0 -m 'Information describing release' Push the tag to github: .. code-block:: git push origin v0.4.0