3 # See: https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions#concurrency.
5 group: ${{ github.ref }}-${{ github.workflow }}
6 cancel-in-progress: true
20 runs-on: ubuntu-latest
21 # This job is not run in a container, any recent GHC should be fine
24 # https://docs.github.com/en/free-pro-team@latest/actions/reference/workflow-commands-for-github-actions#adding-a-system-path
26 echo "$HOME/.cabal/bin" >> $GITHUB_PATH
27 - uses: actions/cache@v1
33 ghcup config set cache true
34 ghcup install ghc recommended
35 ghcup set ghc recommended
36 - name: Update Hackage index
39 run: cabal v2-install alex --constraint='alex ==3.2.6'
40 - uses: actions/checkout@v2
41 - name: Regenerate files
46 - name: Check that diff is clean
48 git status > /dev/null
49 git diff-files -p --exit-code
52 runs-on: ubuntu-latest
56 echo "$HOME/.cabal/bin" >> $GITHUB_PATH
57 - name: Install cabal-env
59 mkdir -p $HOME/.cabal/bin
60 curl -sL https://github.com/phadej/cabal-extras/releases/download/preview-20191225/cabal-env-snapshot-20191225-x86_64-linux.xz > cabal-env.xz
61 echo "1b567d529c5f627fd8c956e57ae8f0d9f11ee66d6db34b7fb0cb1c370b4edf01 cabal-env.xz" | sha256sum -c -
62 xz -d < cabal-env.xz > $HOME/.cabal/bin/cabal-env
64 chmod a+x $HOME/.cabal/bin/cabal-env
65 - uses: actions/cache@v1
68 key: linux-store-doctest
71 ghcup config set cache true
72 ghcup install ghc recommended
73 ghcup set ghc recommended
74 - name: Update Hackage index
76 - name: Install doctest
77 run: cabal v2-install doctest
78 - name: Install libraries
80 cabal-env --transitive QuickCheck
81 cabal-env array bytestring containers deepseq directory filepath pretty process time binary unix text parsec mtl
82 cat $HOME/.ghc/*/environments/default
83 - uses: actions/checkout@v2