summaryrefslogtreecommitdiff
path: root/.radicle/native.yaml
blob: 882bc71a6fe58d052039091fbf27e123de7f98c5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
shell: |
  # set PATH to use GHCUP installed GHC
  export PATH=~/.cabal/bin:~/.ghcup/bin:$PATH
  export PATH=~/.radicle/bin:$PATH

  USER=$(id -un)
  HOME=$(getent passwd "$USER" | cut -d: -f6)

  ghc --version
  cabal --version

  cd lambda-calcul/haskell
  cabal build --enable-tests all
  cabal test all

  EXE=$(cabal list-bin lambda)
  HEAD=$(git rev-parse HEAD)

  # restart service only if building master branch
  if git branch --column=never --no-color --contains $HEAD | grep main | tr -d ' ' 2>&1 > /dev/null; then
    [[ -d ${HOME}/.local/bin ]] || mkdir -p ${HOME}/.local/bin
    [[ -f ${HOME}/.local/bin/lambda ]] && rm ${HOME}/.local/bin/lambda

    [[ -d ${HOME}/.config ]] || mkdir -p ${HOME}/.config
    [[ -f ${HOME}/.config/lambda ]] && rm ${HOME}/.config/lambda

    cp "$EXE" ${HOME}/.local/bin/
    cp -fr public "${HOME}/.config/lambda/"
    sudo systemctl restart lambda
  fi