@@ -130,8 +130,33 @@ jobs:
131 - uses: actions/checkout@v2
131 - uses: actions/checkout@v2
133− - name: Install ghcjs
133+ - name: Install ghcjs and tools
135 sudo add-apt-repository ppa:hvr/ghcjs
135 sudo add-apt-repository ppa:hvr/ghcjs
136 sudo apt-get update -y
136 sudo apt-get update -y
137 sudo apt-get install ghcjs-8.4
137 sudo apt-get install ghcjs-8.4
138+ sudo apt-get install cabal-install
140+ # Override cabal.project with the lightweight GHCJS one
141+ cp cabal.ghcjs.project cabal.project
144+ export PATH=/opt/ghcjs/8.4.4/bin:$PATH
145+ export PATH="$HOME/.cabal/bin:$PATH"
148+ ls /opt/ghcjs/8.4/bin
149+ # cabal v2-install --ghcjs -w /opt/ghcjs/8.4/bin/ghcjs --ignore-project hspec-discover
150+ cabal v2-install -w /opt/ghc/8.4.4/bin/ghc --ignore-project cabal-plan --constraint='cabal-plan ^>=0.6.0.0' --constraint='cabal-plan +exe'
151+ cabal v2-install -w /opt/ghc/8.4.4/bin/ghc --ignore-project hspec-discover
155+ export PATH=/opt/ghcjs/8.4.4/bin:$PATH
156+ export PATH="$HOME/.cabal/bin:$PATH"
157+ cabal v2-build --ghcjs -w /opt/ghcjs/8.4/bin/ghcjs --enable-tests --enable-benchmarks all
161+ export PATH="$HOME/.cabal/bin:$PATH"
162+ cabal-plan list-bins '*:test:*' | while read -r line; do testpkg=$(echo "$line" | perl -pe 's/:.*//'); testexe=$(echo "$line" | awk '{ print $2 }'); echo "testing $textexe in package $textpkg"; (cd "$(pkgdir $testpkg)" && nodejs "$testexe".jsexe/all.js); done