summaryrefslogtreecommitdiff
path: root/yarns/building.yarn
diff options
context:
space:
mode:
authorPaul Sherwood <paul.sherwood@codethink.co.uk>2014-10-27 13:28:53 +0000
committerPaul Sherwood <paul.sherwood@codethink.co.uk>2014-10-27 13:28:53 +0000
commit79c06711f47d39bdff6d84c2736d88b99ef35b9c (patch)
tree4a0774f36f9034d8d3a1d7f4d010fad7a80f2cd8 /yarns/building.yarn
parentee8b0047ae5a5e7c64f32197cdf20d552a49cd9e (diff)
parent5e823a4f36f30c59a473f22f824dfd6f6c66c89f (diff)
downloadmorph-79c06711f47d39bdff6d84c2736d88b99ef35b9c.tar.gz
Merge branch 'master' of git://git.baserock.org/baserock/baserock/morph into HEAD
Diffstat (limited to 'yarns/building.yarn')
-rw-r--r--yarns/building.yarn30
1 files changed, 30 insertions, 0 deletions
diff --git a/yarns/building.yarn b/yarns/building.yarn
index 52742ac8..253b3b3c 100644
--- a/yarns/building.yarn
+++ b/yarns/building.yarn
@@ -9,6 +9,36 @@ Morph Building Tests
THEN morph build the system systems/base-system.morph of the branch master
FINALLY the git server is shut down
+System integrations
+-------------------
+
+`system-integration` is a field in chunk morphologies that allows you to
+have some scripts run at system artifact construction time, because some
+things need to be done after every chunk is built, such as `ldconfig`,
+so every library path in `/etc/ld.so.conf` can be found, and it can look
+up libraries more quickly.
+
+ SCENARIO using system integrations
+ GIVEN a workspace
+ AND a git server
+ WHEN the user checks out the system branch called master
+ AND the user attempts to build the system systems/test-system.morph in branch master
+ THEN morph succeeded
+
+In our example, we have a system integration that creates /etc/passwd,
+so when we deploy the system, we can check whether it exists.
+
+ GIVEN a cluster called test-cluster.morph in system branch master
+ AND a system in cluster test-cluster.morph in branch master called test-system
+ AND system test-system in cluster test-cluster.morph in branch master builds systems/test-system.morph
+ AND system test-system in cluster test-cluster.morph in branch master has deployment type: tar
+ WHEN the user attempts to deploy the cluster test-cluster.morph in branch master with options test-system.location="$DATADIR/test.tar"
+ THEN morph succeeded
+ AND tarball test.tar contains etc/passwd
+
+Distbuilding
+------------
+
SCENARIO distbuilding
ASSUMING the morph-cache-server can be run
GIVEN a workspace