From 4f3e80824b11f0ab6a09c232d64637988622d70b Mon Sep 17 00:00:00 2001
From: Vladimir Still <git@vstill.eu>
Date: Sun, 14 Mar 2021 21:49:31 +0100
Subject: [PATCH] ansible: Update eval-haskell

---
 ...fi.muni.cz => eval-haskell.fi.muni.cz.yml} | 59 +++++++++++++++----
 1 file changed, 48 insertions(+), 11 deletions(-)
 rename ansible/{eval-haskell.fi.muni.cz => eval-haskell.fi.muni.cz.yml} (89%)

diff --git a/ansible/eval-haskell.fi.muni.cz b/ansible/eval-haskell.fi.muni.cz.yml
similarity index 89%
rename from ansible/eval-haskell.fi.muni.cz
rename to ansible/eval-haskell.fi.muni.cz.yml
index 10514ca..0ed3c57 100644
--- a/ansible/eval-haskell.fi.muni.cz
+++ b/ansible/eval-haskell.fi.muni.cz.yml
@@ -5,6 +5,7 @@
     ghc_version: 8.10.2
     ghc_prefix: '/opt/ghc/{{ghc_version}}'
     ib015_workers: 8
+    ib016_workers: 2
     frag_eval_tools:
       - auto
       - cc
@@ -147,14 +148,13 @@
           cmd: darcs get https://paradise.fi.muni.cz/~xstill/src/frag/
         when: not frag_chekout.stat.exists
 
-      - name: Update frag
-        command:
-          chdir: /var/frag/frag
-          cmd: '{{item}}'
-        loop:
-          - darcs pull -a
-          - env CXX=clang++ PWD=/var/frag/frag make
-#          - /var/frag/frag/frag-teacher init --subject ib015 --daemon eval --eval-count 8
+#       - name: Update frag
+#         command:
+#           chdir: /var/frag/frag
+#           cmd: '{{item}}'
+#         loop:
+#           - darcs pull -a
+#           - env CXX=clang++ PWD=/var/frag/frag make
 
       - name: Builder user
         user:
@@ -331,13 +331,13 @@
         stat:
           path: '/var/frag/ib015_eval_{{item}}/.cabal'
         loop: '{{range(ib015_workers)}}'
-        register: dot_cabal
+        register: dot_cabal_ib015
 
       - name: Cabal update
         command: /opt/cabal/bin/cabal v1-update
         become: True
         become_user: 'ib015_eval_{{item}}'
-        when: not dot_cabal.results[item].stat.exists
+        when: not dot_cabal_ib015.results[item].stat.exists
         loop: '{{range(ib015_workers)}}'
 
       - name: Hackage modules
@@ -357,12 +357,49 @@
 
       - name: Insstall hsExprTest
         command:
-          chdir: '/var/frag/ib015_eval_{{item}}/hsExprTest/src/hs'
+          chdir: '/var/frag/ib015_eval_{{item}}/hsExprTest/'
           cmd: /opt/cabal/bin/cabal v1-install
         become: True
         become_user: 'ib015_eval_{{item}}'
         loop: '{{range(ib015_workers)}}'
 
+      # TODO: deduplicate
+      - name: .cabal exits?
+        stat:
+          path: '/var/frag/ib016_eval_{{item}}/.cabal'
+        loop: '{{range(ib016_workers)}}'
+        register: dot_cabal_ib016
+
+      - name: Cabal update
+        command: /opt/cabal/bin/cabal v1-update
+        become: True
+        become_user: 'ib016_eval_{{item}}'
+        when: not dot_cabal_ib016.results[item].stat.exists
+        loop: '{{range(ib016_workers)}}'
+
+      - name: Hackage modules
+        command: /opt/cabal/bin/cabal v1-install QuickCheck lens mtl exceptions parsec base-unicode-symbols HUnit
+        become: True
+        become_user: 'ib016_eval_{{item}}'
+        loop: '{{range(ib016_workers)}}'
+
+      - name: hsExprTest checkout
+        git:
+          dest: '/var/frag/ib016_eval_{{item}}/hsExprTest'
+          repo: https://github.com/vlstill/hsExprTest.git
+          update: True
+        become: True
+        become_user: 'ib016_eval_{{item}}'
+        loop: '{{range(ib016_workers)}}'
+
+      - name: Insstall hsExprTest
+        command:
+          chdir: '/var/frag/ib016_eval_{{item}}/hsExprTest/'
+          cmd: /opt/cabal/bin/cabal v1-install
+        become: True
+        become_user: 'ib016_eval_{{item}}'
+        loop: '{{range(ib016_workers)}}'
+
       - name: Enable user namespaces
         sysctl:
           name: kernel.unprivileged_userns_clone
-- 
GitLab