Documentation

Thanks for trying ReleaseHawk!. This documentation is all you need to get up and running.

What ReleaseHawk Does

ReleaseHawk is a helpful bot that watches all of the GitHub and file/API dependencies of your project. As soon as they are updated, a new pull request is opened for your review.

After a dependency is downloaded, you can run a local script, in any language, on your project and have the changes incorporated in the pull request.

Doesn't <automated dependency tool> handle this?

No, not for dependencies that can't be handled with a package manager. ReleaseHawk was built to automate dependencies that package managers can't handle like a data set from data.gov or commits from a GitHub repository. These "out-of-band" dependencies don't appear in your package manager's central repository so these tools don't work for them.

That said, we highly recommend you use automated dependency management for all of your other dependencies.

Installation

1. Install ReleaseHawk

Install the ReleaseHawk GitHub app on the repository's organization or user account. You only need to do this once per organization/account.

To install, visit ReleaseHawk's GitHub page and click Install. If you've already installed it, click on Configure.

2. Grant repository access

After installing or clicking Configure, you'll see ReleaseHawk's settings page. Add one or more repositories you want ReleaseHawk to work with.

3. Enable ReleaseHawk

ReleaseHawk creates an initial pull request that contains a sample configuration to get you started. Once you've updated the configuration and merged the pull request, ReleaseHawk can start watching for updates.

ReleaseHawk will only start watching for updates after this pull request is merged.

If you're keen and already have a configuration file in your repository, a new issue will be created letting you know ReleaseHawk is ready to go.

Configuration

The .releasehawk.yml configuration file tells ReleaseHawk what dependencies to watch and what to do with them.

There are four types of dependencies that can be watched: commit, tag, release and file. The commit, tag and release types are valid only for public GitHub repositories. The file type can be used for any publically accessible URLs.

The full set of configuration options is below:

type
One of commit, tag, release or file.

destination
The path where the dependency will be placed.

script
The path to a local script that should be run after the update has been downloaded.

url (file type only)
The url of the file.

commit_re (commit type only)
A regular expression used to filter commit messages.

Here's an example configuration:

If you made it here and haven't found the answer you're looking for, let us know and we'll be happy to help.