ci: Speed up builds using ghc-options: -j

Building xmonad-contrib benefits greatly from compiling modules in
parallel. Vanessa McHale suggested setting ghc-options in
xmonad-contrib.cabal in #431, but that's bad practice—these options
should be set by the user/environment where it's being built, not
selfishly hardcoded for specific package. In stack.yaml and
cabal.haskell-ci, we know for sure that xmonad-contrib is the terminal
(leaf) library, so we can set it there and speed up builds in our CI and
also for anyone who uses our stack.yaml (not that anyone should).

Closes: https://github.com/xmonad/xmonad-contrib/pull/431
This commit is contained in:
Tomas Janousek 2021-05-24 18:07:07 +01:00
parent 17ef2b95db
commit 9b933b1f69
4 changed files with 9 additions and 1 deletions

View File

@ -142,7 +142,8 @@ jobs:
branch: master branch: master
package xmonad-contrib package xmonad-contrib
flags: +pedantic flags: +pedantic
ghc-options: -j
EOF EOF
$HCPKG list --simple-output --names-only | perl -ne 'for (split /\s+/) { print "constraints: $_ installed\n" unless /^(xmonad-contrib)$/; }' >> cabal.project.local $HCPKG list --simple-output --names-only | perl -ne 'for (split /\s+/) { print "constraints: $_ installed\n" unless /^(xmonad-contrib)$/; }' >> cabal.project.local
cat cabal.project cat cabal.project

View File

@ -9,3 +9,4 @@ apt:
raw-project raw-project
package xmonad-contrib package xmonad-contrib
flags: +pedantic flags: +pedantic
ghc-options: -j

View File

@ -9,3 +9,6 @@ packages:
extra-deps: extra-deps:
- github: xmonad/xmonad - github: xmonad/xmonad
commit: master@{today} commit: master@{today}
ghc-options:
xmonad-contrib: '-j'

View File

@ -15,3 +15,6 @@ nix:
- xorg.libXrandr - xorg.libXrandr
- xorg.libXrender - xorg.libXrender
- xorg.libXScrnSaver - xorg.libXScrnSaver
ghc-options:
xmonad-contrib: '-j'