Heimdall is a build system service that checks for compliant commits to a git repository. It is licensed under the BSD-3 Clause license.
At a high level, Heimdall requires that the following be installed:
- python (>= version 2.7, < version 3)
- CouchDB (>= version 1.2)
- git (>= version 1.7)
- ccollab command line tool (>= version 6.5)
###Python Installation### In order to run Heimdall, one will need the following Python modules:
###CouchDB Installation###
Heimdall includes a command line setup and development tool called horn. Most setup and development commands will be issued through it. However, there are a few manual setup steps:
-
Ensure that the ccollab command line client is configured:
ccollab login
-
Make horn executable:
cd <heimdall_home> chmod x+ horn
-
Setup Heimdall configuration:
./horn config
-
Verify environment for using Heimdall:
./horn verify
-
Push Heimdall design documents to CouchDB:
./horn push
###Data Loading### Heimdall requires data from two sources: a git repository and a CodeCollaborator review system.
To load a git commit:
./horn loadcommit <full_git_commit_sha1>
To load a CodeCollaborator review:
./horn loadreview <ccollab_review_id>
Most map-reduce development will likely occur on CouchDB itself. To support this, horn comes with a sync function to pull design documents from CouchDB:
./horn sync
git commit -a
Note that ./horn sync
and ./horn push
are meant to be used in concert.