GitHub Release Activity (rever.activities.ghrelease)

Activity for performing a GitHub release.

class rever.activities.ghrelease.GHRelease

Performs a github release.

The behaviour of this activity may be adjusted through the following environment variables:


str, Name of the release. This is evaluated with the version. Default is $VERSION


str or None, Release notes to send to the release page. If None (the default), this is read from $CHANGELOG_LATEST, if present, or failing that $REVER_DIR/LATEST. If neither file exists, an empty string is passes in.


str, string to prepend to the release notes, defaults to ‘’


str, string to append to the release notes, defaults to ‘’


iterable of str or functions, Extra assests to upload to the GitHub release. This is ususally a tarball of the source code or a binary package. If the asset is a string, it is interpreted as a filename (and evalauated in the current environment). If the asset is a function, the function is called with no arguments and should return either a string filename or a list of string filenames. The asset functions will usually generate or acquire the asset. By default, this a tarball of the release tag will be uploaded.


str or None, the git branch/commit to target for the release. If this value is None, it will use the default branch name, as specified on the GitHub repo.

Other environment variables that affect the behavior are:


the credential file to use.


the github organization that the project belongs to.


the github repository of the project.


the user’s config directory for rever, which is where the GitHub credential files are stored by default.


path to the latest release notes file created by the changelog activity.


may used to find the tag name when creating the default asset.

namestr, optional

Name of the activity.

depsset of str, optional

Set of activities that must be completed before this activity is executed.

funccallable, optional

Function to perform as activity when this activities is executed (called).

undocallable, optional

Function to undo this activities behaviour and reset the repo state.

setupcallable, optional

Function to help initialize the activity.

checkcallable, optional

Function to check if the activity can be run sucessfully on the user’s machine, with their credentials, etc. This function should return True if the activity can be run, and False otherwise.

requiresdict or None, optional

A dict of dicts of the following form that specifies the command line utility and import requirements for this activity.

    "commands": {"<cli name>": "<package name>", ...}
    "imports": {"<module name>": "<package name>", ...}

The top-level keys are both optional, and this will default to an empty dict.

argstuple, optional

Arguments to be supplied to the func(*args), if needed.

kwargsmapping, optional

Keyword arguments to be supplied to the func(**kwargs), if needed.

descstr, optional

A short description of this activity


Returns all kwargs for this activity.


Calls this activity’s check() function.


Checks that an activities requirements are actually available.


Decorator that sets the check function for this activity.


Removes kwarg from the environment, if they exist.


Obtains possible func() kwarg from the environment.


Calls this activity’s setup() initialization function.


Decorator that sets the setup function for this activity.


Reverts to the last instance of this activity. This default implementation uses the revision in the log file from the last time that the activity was started. This may be overridden in a subclass.


Decorator that sets the undo function for this activity.

property env_names

Dictionary mapping parameter names to the names of environment varaibles that the activity looks for when it is executed.


Tries to find the release notes in a variety of places.


Provides tarball of the repository as an asset.


Reads file if it exists, returns None otherwise