summaryrefslogtreecommitdiff
path: root/yarns/200-ick-workers.yarn
diff options
context:
space:
mode:
Diffstat (limited to 'yarns/200-ick-workers.yarn')
-rw-r--r--yarns/200-ick-workers.yarn35
1 files changed, 35 insertions, 0 deletions
diff --git a/yarns/200-ick-workers.yarn b/yarns/200-ick-workers.yarn
new file mode 100644
index 0000000..fe78278
--- /dev/null
+++ b/yarns/200-ick-workers.yarn
@@ -0,0 +1,35 @@
+# Ick workers for my CI system
+
+Ick is my CI program. It needs workers on which it runs builds. These
+need to be accessible over ssh, and the remote user must have
+passwordless sudo access to run pbuilder.
+
+I have a number of the ick workers. Yarn does not provide a looping
+construct or parameterised scenarios. However, since they are all
+maintained using Ansible, and should thus be identical, I avoid having
+to repeat the scenario for each worker by just blindly assuming that
+if one works, they all work.
+
+ SCENARIO ick workers can build packages
+
+Basic checks.
+
+ GIVEN server name is ick-debian8-amd64
+ AND server has account ick
+ THEN server responds to ping
+ AND server hostname is as expected
+ AND server account has sudo
+
+Do a test build of the Debian hello package.
+
+ GIVEN a remote temporary directory to use
+ AND a directory RESULT on the server
+ WHEN server runs apt-get source --download-only hello
+ WHEN server runs test -e *.dsc
+ WHEN server runs sudo pbuilder --build --buildresult RESULT
+ ... --basetgz /var/cache/pbuilder/release.tgz hello_2.9-2+deb8u1.dsc
+ THEN remote files RESULT/*.deb exist
+
+Cleanup.
+
+ FINALLY remove remote temporary directory