~ 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