Rever: Releaser of Versions! ============================ Rever is a xonsh-powered, cross-platform software release tool. The goal of rever is to provide sofware projects a standard mechanism for dealing with code releases. Rever aims to make the process of releasing a new version of a code base as easy as running a single command. Rever... * has a number of stock tools and utilities that you can mix and match to meet your projects needs, * is easily extensible, allowing your project to execute custom release activities, and * allows you to undo release activities, in the event of a mistake! ================== Initializing Rever ================== There are a couple steps you should take to get the most out of rever. 1. Install rever. Rever is on conda-forge so install via ``conda install rever -c conda-forge``, via pypi with ``pip install re-ver``, or from source. 2. Setup a ``rever.xsh`` file in the root directory of your source repository. Here is a simplified example from ``rever`` itself, .. code-block:: xonsh $PROJECT = 'rever' $ACTIVITIES = [ 'version_bump', # Changes the version number in various source files (setup.py, __init__.py, etc) 'changelog', # Uses files in the news folder to create a changelog for release 'tag', # Creates a tag for the new version number 'push_tag', # Pushes the tag up to the $TAG_REMOTE 'pypi', # Sends the package to pypi 'conda_forge', # Creates a PR into your package's feedstock 'ghrelease' # Creates a Github release entry for the new tag ] $VERSION_BUMP_PATTERNS = [ # These note where/how to find the version numbers ('rever/__init__.py', r'__version__\s*=.*', "__version__ = '$VERSION'"), ('setup.py', r'version\s*=.*,', "version='$VERSION',") ] $CHANGELOG_FILENAME = 'CHANGELOG.rst' # Filename for the changelog $CHANGELOG_TEMPLATE = 'TEMPLATE.rst' # Filename for the news template $PUSH_TAG_REMOTE = 'git@github.com:regro/rever.git' # Repo to push tags to $GITHUB_ORG = 'regro' # Github org for Github releases and conda-forge $GITHUB_REPO = 'rever' # Github repo for Github releases and conda-forge 3. After setting up the ``rever.xsh`` file run ``rever setup`` in the root directory of your source repository. This will setup files and other things needed for rever to operate. 4. It is always a good idea to check that you have permissions and the proper libraries installed, so it is best to run ``rever check`` before every release. 5. When you are ready to release run ``rever `` and rever will take care of the rest. ========= Contents ========= **Installation:** .. toctree:: :titlesonly: :maxdepth: 1 dependencies **Guides:** .. toctree:: :titlesonly: :maxdepth: 1 tutorial usepatterns news authorship **Configuration & Setup:** .. toctree:: :titlesonly: :maxdepth: 1 activities envvars **Development Spiral:** .. toctree:: :titlesonly: :maxdepth: 1 api/index devguide/ changelog .. include:: dependencies.rst ============ Contributing ============ We highly encourage contributions to rever! If you would like to contribute, it is as easy as forking the repository on GitHub, making your changes, and issuing a pull request. If you have any questions about this process don't hesitate to ask on the `Gitter `_ channel. See the `Developer's Guide `_ for more information about contributing. ============= Helpful Links ============= * `Documentation `_ * `Gitter `_ * `GitHub Repository `_ * :ref:`genindex` * :ref:`modindex` * :ref:`search` .. raw:: html Fork me on GitHub