To build Djinn CI, you will need to install the following dependencies,

make sure each of these programs are installed an in your PATH.

Once installed, clone the repository,

$ git clone

once cloned, change into the directory and run the script. This will execute all of the tests, transpile the LESS and templates, then build the curator, consumer, scheduler, server, the worker, and the offline runner.

$ ./

The compiled programs will be,

  • bin/djinn

  • bin/djinn-consumer

  • bin/djinn-curator

  • bin/djinn-scheduler

  • bin/djinn-server

  • bin/djinn-worker

each of these will be a statically linked binary. The target operating system and architecture can be changed via GOOS and GOARCH environment variables.

$ GOOS=freebsd GOARCH=amd64 ./

the flags of the linker can be configured via the LDFLAGS variable. This will accept any flags that can normally be configured via the -ldflags flag that is passed to the go build command,

$ LDFLAGS="-s -w" ./