Skip to content

Latest commit

 

History

History
36 lines (22 loc) · 2.1 KB

Release_Guide.rst

File metadata and controls

36 lines (22 loc) · 2.1 KB

# Release Guide

Right now, the steps to make a release are somewhat manual. As the project matures, we will work to automate some of these steps.

Currently the folks who have credentials to make releases on [PyPI](https://pypi.org/project/mt-metadata/) and [Conda-Forge](https://anaconda.org/conda-forge/mt-metadata) are: - [@kkappler](https://github.com/kkappler/) - [@kujaku11](https://github.com/kujaku11/) - [@lheagy](https://github.com/lheagy/)

## Updating the version

This project uses semantic versioning major.minor.patch, and you can use the [bumpversion package](https://github.com/c4urself/bump2version/#installation) to update the version. From a clean branch state on the main branch you can run bumpversion <major / minor / patch> to update the package version. Please then push this update.

## Generate a release on GitHub

Once you have pushed an update to the software version, you can create a tag and associated release notes on GiHub: https://github.com/kujaku11/mt_metadata/releases/new

## Upload to PyPI

To upload to PyPI, first make sure you have [twine](https://twine.readthedocs.io/en/latest/) installed locally. Next, if you would like to test the release, you can follow the guide from [TestPyPI](https://packaging.python.org/guides/using-testpypi/). Otherwise, if you have the appropriate credentials (if not, contact one of the folks above who have PyPI authority for the project) you can run

` python setup.py sdist bdist_wheel `

to build the distribution, followed by

` twine upload --skip-existing dist/* `

to upload the package to the [PyPI server](https://pypi.org/project/mt-metadata)

## Update on Conda Forge

We setup conda forge following these [instructions](https://conda-forge.org/docs/maintainer/adding_pkgs.html) and using the [grayskull package](https://github.com/marcelotrevisani/grayskull). At this stage, all that should be needed is to merge pull requests that are made on the [conda-forge feedstock](https://github.com/conda-forge/mt-metadata-feedstock). Note that if there are updates to the project dependencies, these files will need to be manually updated.