~ salmonella-environment-setup (master) 76c096fc625cd34d8bc948e6f2fdbf7e5c74fc4e


commit 76c096fc625cd34d8bc948e6f2fdbf7e5c74fc4e
Author:     Mario Domenech Goulart <mario@parenteses.org>
AuthorDate: Sun Dec 24 14:27:54 2017 +0100
Commit:     Mario Domenech Goulart <mario@parenteses.org>
CommitDate: Sun Dec 24 14:28:47 2017 +0100

    salmonella: Add README

diff --git a/README b/README
new file mode 100644
index 0000000..741d26c
--- /dev/null
+++ b/README
@@ -0,0 +1,149 @@
+== Introduction
+
+This file contains instructions on how to build CHICKEN and run
+salmonella using salmonella-run-publish.
+
+To run tests for multiple settings (e.g., branches, C toolchains,
+different build options etc.), we use a wrapper script:
+run-salmonella.sh in this directory.
+
+
+== Requirements
+
+The following system tools are required:
+
+* bzip2
+* GNU make
+* A working C toolchain
+* tar
+* svn
+* git
+* dot (from GraphViz)
+* gzip
+
+The following CHICKEN tools are required
+
+* salmonella
+* salmonella-html-report
+* salmonella-feeds
+* salmonella-diff
+* salmonella-run-publish
+* henrietta-cache (optional -- only for salmonella-run-publish's
+  local-mode)
+
+
+The following directory layout is assumed by run-salmonella.sh (see
+"Initial setup" for more details):
+
+$HOME/src/chicken-infrastructure
+    Clone of the chicken-infrastructure repository
+
+$HOME/local/chicken
+    CHICKEN 4 installation directory
+
+$HOME/local/chicken-5
+    CHICKEN 5 installation directory
+
+
+The following directory layout will be generated by run-salmonella.sh
+after tests:
+
+$HOME/salmonella/build
+    Work directory for salmonella builds
+
+$HOME/salmonella/reports
+    Salmonella reports, RSS feeds and log files to be served by a web
+    server.
+
+
+== Initial setup
+
+The instructions below apply if you want to test both CHICKEN 4 and
+CHICKEN 5.
+
+=== Install CHICKEN 4 & required eggs
+
+run-salmonella.sh will look for CHICKEN 4 tools in
+$HOME/local/chicken.  I usually install CHICKEN setting
+PREFIX=$HOME/local/chicken-<version> and create a symlink
+chicken -> chicken-<version> in $HOME/local (that eases
+updating CHICKEN).
+
+Once CHICKEN 4 is installed, we can use it to install the required
+eggs.  At the moment the recommendation is to install eggs from git
+(order is important):
+
+$ git clone https://github.com/mario-goulart/salmonella
+$ cd salmonella
+$ $HOME/local/chicken/bin/chicken-install
+
+$ git clone https://github.com/mario-goulart/salmonella-html-report
+$ cd salmonella-html-report
+$ $HOME/local/chicken/bin/chicken-install
+
+$ git clone https://github.com/mario-goulart/salmonella-diff
+$ cd salmonella-diff
+$ $HOME/local/chicken/bin/chicken-install
+
+$ git clone https://github.com/mario-goulart/salmonella-feeds
+$ cd salmonella-feeds
+$ $HOME/local/chicken/bin/chicken-install
+
+$ git clone https://github.com/mario-goulart/salmonella-run-publish
+$ cd salmonella-run-publish
+$ $HOME/local/chicken/bin/chicken-install
+
+
+=== Install CHICKEN 5 & required eggs
+
+If you plan to test CHICKEN 5, you'll need CHICKEN 4 and the eggs
+mentioned in the previous section.  Additionally, you'll need CHICKEN
+5 and salmonella for CHICKEN 5.
+
+run-salmonella.sh will look for CHICKEN 5 tools in
+$HOME/local/chicken-5.  I usually install CHICKEN setting
+PREFIX=$HOME/local/chicken-<version> and create a symlink
+chicken-5 -> chicken-<version> in $HOME/local (that eases
+updating CHICKEN).
+
+Once CHICKEN 5 is installed, we can use it to install salmonella for
+CHICKEN 5.
+
+$ git clone https://github.com/mario-goulart/salmonella salmonella-5
+$ cd salmonella-5
+$ git checkout chicken-5
+$ $HOME/local/chicken-5/bin/chicken-install
+
+
+== Configuring salmonella jobs
+
+run-salmonella.sh will look for configuration files in the
+chicken-infrastructure repository, specifically:
+
+* $HOME/src/chicken-infrastructure/salmonella/${OS}-common
+* $HOME/src/chicken-infrastructure/salmonella/salmonella-${OS}-${ARCH}
+
+where ${OS} is the value returned by (software-version) and ${ARCH} is
+the value returned by (machine-type) by CHICKEN.
+
+run-salmonella.sh will look for configuration files with .conf suffix
+in those directories.  The conf files are Scheme files that usually
+set salmonella-run-publish parameters.  Take a look at the
+configuration files in linux-common for examples.
+
+run-salmonella.sh will also read a `settings.sh' file from the
+directories mentioned above.  This file will be load shell settings
+("source") in the current environment.  That can be useful if you want
+to set environment variables.
+
+
+== Running run-salmonella.sh
+
+After you've got everything installed and configured, you can call
+run-salmonella.sh with the configuration file names (without
+extension) as arguments.  Example:
+
+  $HOME/src/chicken-infrastructure/salmonella/run-salmonella.sh chicken-4 chicken-5
+
+This will make run-salmonella.sh pick the chicken-4.conf and
+chicken-5.conf files for ${OS} and ${ARCH}.
Trap