<commit_before># Baumeister

Baumeister is a build management system, inspired by Jenkins, Travis CI and BuildBot.

[![Build Status](https://travis-ci.org/alfert/baumeister.svg?branch=master)](https://travis-ci.org/alfert/baumeister)
[![Ebert](https://ebertapp.io/github/alfert/baumeister.svg)](https://ebertapp.io/github/alfert/baumeister)

Currently, Baumeister is in statu nascendi and merely useful. While moving
from release 0.1.0 towards 1.0.0 this will change...

## Next TODOs
* [ ] Define a human readable build identifier (i.e. counting up) for each jobs
* [x] Attach the project name to each build job
* [ ] Define a consistent event structure including a rendering function for HTML/JSON
* [ ] Store build results in the Mnesia DB
* [ ] Store the build log in a flat file per build
* [ ] Retrieve the build status for each project and render nice icons
* [ ] Introduce dedicated build views for each project and build number


## Binary Releases and Configuration

Baumeister uses `distillery`(https://hexdocs.pm/distillery/getting-started.html)
to create binary releases with `mix release baumeister` and `mix release bm_worker`.
In order to set the Erlang node names properly, these names are not baked into
the release, but are required to inject via environment variables:

* NODE_NAME: name of the node to be started/stopped etc.
* REPLACE_OS_VARS=1: use the above node name
* COORDINATOR: name of the coordinator node, to which workers connect

An example from within the build environment of starting a coordinator and a
worker node:

    $ REPLACE_OS_VARS=1 NODE_NAME=baumeister _build/dev/rel/baumeister/bin/baumeister console
    $ REPLACE_OS_VARS=1 COORDINATOR=baumeister@localhost NODE_NAME=bm_worker1 _build/dev/rel/bm_worker/bin/bm_worker console
<commit_msg>Add another todo<commit_after># Baumeister

Baumeister is a build management system, inspired by Jenkins, Travis CI and BuildBot.

[![Build Status](https://travis-ci.org/alfert/baumeister.svg?branch=master)](https://travis-ci.org/alfert/baumeister)
[![Ebert](https://ebertapp.io/github/alfert/baumeister.svg)](https://ebertapp.io/github/alfert/baumeister)

Currently, Baumeister is in statu nascendi and merely useful. While moving
from release 0.1.0 towards 1.0.0 this will change...

## Next TODOs
* [ ] Define a human readable build identifier (i.e. counting up) for each jobs
* [x] Attach the project name to each build job
* [ ] Define a consistent event structure including a rendering function for HTML/JSON
* [ ] Store build results in the Mnesia DB
* [ ] Store the build log in a flat file per build
* [ ] Retrieve the build status for each project and render nice icons
* [ ] Introduce dedicated build views for each project and build number
* [ ] Have a dedicated build-run button for a project


## Binary Releases and Configuration

Baumeister uses `distillery`(https://hexdocs.pm/distillery/getting-started.html)
to create binary releases with `mix release baumeister` and `mix release bm_worker`.
In order to set the Erlang node names properly, these names are not baked into
the release, but are required to inject via environment variables:

* NODE_NAME: name of the node to be started/stopped etc.
* REPLACE_OS_VARS=1: use the above node name
* COORDINATOR: name of the coordinator node, to which workers connect

An example from within the build environment of starting a coordinator and a
worker node:

    $ REPLACE_OS_VARS=1 NODE_NAME=baumeister _build/dev/rel/baumeister/bin/baumeister console
    $ REPLACE_OS_VARS=1 COORDINATOR=baumeister@localhost NODE_NAME=bm_worker1 _build/dev/rel/bm_worker/bin/bm_worker console

{'fraction_non_alphanumeric': 0.08105872622001654, 'fraction_numerical': 0.005514199062586159, 'mean_word_length': 4.823434991974318, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 10, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '30221', 'n_tokens_mistral': 1119, 'n_tokens_neox': 1072, 'n_words': 414}