zzbot is a tool to execute shell commands in a flexible manner and keep track of the history of past executions. Here's an example output:
when zzbot executes this configuration: kcg.xml
Documentation: index.md
git clone https://github.com/smelc/zzbot
cd zzbot
curl -sSL https://get.haskellstack.org/ | sh
stack build
stack install zzbot --local-bin-path INSTALL_PATH # INSTALL_PATH can for example be /usr/local/bin
Useful commands:
stack build
builds thezzbot
executablestack run zzbot configs/config.xml
executes the builders listed inconfigs/config.xml
Test and documentation commmands:
stack test
executes tests intest/TestConfig.hs
stack exec haddock -- --html $(find src -name \*.hs) -o html
generates the documentation of sources insrc/
There's a commit pre-hook to execute CI before pushing, install it as follows:
cd .git/hooks
ln -s ../../hooks/pre-commit .
cd -
zzbot can be built using Tweag's
rules_haskell extension
of Bazel: bazel build //...