diff --git a/ansible/roles/hsExprTest/defaults/main.yml b/ansible/roles/hsExprTest/defaults/main.yml new file mode 100644 index 0000000000000000000000000000000000000000..9b1832805a3ff2c5baedc39e7f45caa8a58a394b --- /dev/null +++ b/ansible/roles/hsExprTest/defaults/main.yml @@ -0,0 +1,2 @@ +--- +cabal_bin: "cabal" diff --git a/ansible/roles/hsExprTest/tasks/install.yml b/ansible/roles/hsExprTest/tasks/install.yml new file mode 100644 index 0000000000000000000000000000000000000000..995c3f11fafdfd8aa56d37c940b9353afc8a8e78 --- /dev/null +++ b/ansible/roles/hsExprTest/tasks/install.yml @@ -0,0 +1,40 @@ +--- +- block: + - name: "Cabal update" + command: "{{cabal_bin}} v2-update --with-ghc=ghc-{{ghc_version}}" + + - name: Remove stale GHC environments + file: + path: "/tmp/env.{{config.user}}" + state: absent + + - name: Hackage modules + command: "{{cabal_bin}} v2-install --with-ghc=ghc-{{ghc_version}} --lib --package-env=/tmp/env.{{config.user}} {{item}}" + loop: "{{pkgs}}" + + - name: Hackage extra modules + command: "{{cabal_bin}} v2-install --with-ghc=ghc-{{ghc_version}} --lib --package-env=/tmp/env.{{config.user}} {{item}}" + + loop: "{{config.extra_pkgs}}" + when: config.extra_pkgs is defined + + - name: hsExprTest checkout + git: + dest: '~/hsExprTest' + repo: https://github.com/vlstill/hsExprTest.git + update: true + + - name: Install hsExprTest + command: + chdir: '~/hsExprTest' + cmd: "{{cabal_bin}} v2-install --with-ghc=ghc-{{ghc_version}} --lib --package-env=/tmp/env.{{config.user}}" + + - name: Create GHC environment dir + file: + state: directory + path: "~/.local/share/ghc/x86_64-linux-{{ghc_version}}/environments" + + - name: Deploy modified GHC environment + command: "mv /tmp/env.{{config.user}} ~/.local/share/ghc/x86_64-linux-{{ghc_version}}/environments/default" + become: true + become_user: "{{config.user}}" diff --git a/ansible/roles/hsExprTest/tasks/main.yml b/ansible/roles/hsExprTest/tasks/main.yml new file mode 100644 index 0000000000000000000000000000000000000000..922b29d4fd38495099b8e671c330ef6d1a89acf3 --- /dev/null +++ b/ansible/roles/hsExprTest/tasks/main.yml @@ -0,0 +1,5 @@ +--- +- include_tasks: install.yml + loop: "{{configs}}" + loop_control: + loop_var: config