@@ -17,27 +17,33 @@ jobs:
17
17
strategy :
18
18
fail-fast : false
19
19
matrix :
20
- ghc : ["9.4.2 ", "9.2.4 ", "9.0.2 ", "8.10.7 ", "8.8.4 ", "8.6.5 "]
20
+ ghc : ["9.8.1 ", "9.6.3 ", "9.4.8 ", "9.2.8 ", "9.0.2 ", "8.10.7 "]
21
21
os : [ubuntu-latest, macOS-latest, windows-latest]
22
22
exclude :
23
- - ghc : " 9.4.2"
24
- os : windows-latest
23
+ - os : windows-latest
24
+ ghc : " 9.4.2"
25
+
26
+ env :
27
+ # Modify this value to "invalidate" the cabal cache.
28
+ CABAL_CACHE_VERSION : " 2024-01-05"
25
29
26
30
steps :
27
31
- uses : actions/checkout@v2
28
32
29
- - uses : haskell/ actions/setup@v1
33
+ - uses : haskell- actions/setup@v2
30
34
id : setup-haskell
31
35
with :
32
36
ghc-version : ${{ matrix.ghc }}
33
- cabal-version : 3.6 .2.0
37
+ cabal-version : ' 3.10 .2.1 '
34
38
35
39
- name : Set some window specific things
36
40
if : matrix.os == 'windows-latest'
37
41
run : echo 'EXE_EXT=.exe' >> $GITHUB_ENV
38
42
39
43
- name : Configure project
40
- run : cabal configure --enable-tests --enable-benchmarks --write-ghc-environment-files=ghc8.4.4+
44
+ run : |
45
+ cabal configure --enable-tests --enable-benchmarks --write-ghc-environment-files=ghc8.4.4+
46
+ cabal build all --enable-tests --enable-benchmarks --dry-run
41
47
42
48
- name : Cabal cache over S3
43
49
uses : action-works/cabal-cache-s3@v1
49
55
dist-dir : dist-newstyle
50
56
store-path : ${{ steps.setup-haskell.outputs.cabal-store }}
51
57
threads : 16
52
- archive-uri : ${{ secrets.BINARY_CACHE_URI }}
58
+ archive-uri : ${{ secrets.BINARY_CACHE_URI }}/${{ env.CABAL_CACHE_VERSION }}/${{ runner.os }}/${{ matrix.cabal }}/${{ matrix.ghc }}
53
59
skip : " ${{ secrets.BINARY_CACHE_URI == '' }}"
54
60
55
61
- name : Cabal cache over HTTPS
@@ -58,18 +64,14 @@ jobs:
58
64
dist-dir : dist-newstyle
59
65
store-path : ${{ steps.setup-haskell.outputs.cabal-store }}
60
66
threads : 16
61
- archive-uri : https://cache.haskellworks.io/archive
67
+ archive-uri : https://cache.haskellworks.io/${{ env.CABAL_CACHE_VERSION }}/${{ runner.os }}/${{ matrix.cabal }}/${{ matrix.ghc }}
62
68
skip : " ${{ secrets.BINARY_CACHE_URI != '' }}"
63
69
64
70
- name : Build
65
- # Try building it twice in case of flakey builds on Windows
66
- run : |
67
- cabal build all --enable-tests --enable-benchmarks --write-ghc-environment-files=ghc8.4.4+ || \
68
- cabal build all --enable-tests --enable-benchmarks --write-ghc-environment-files=ghc8.4.4+ -j1
71
+ run : cabal build all --enable-tests --enable-benchmarks
69
72
70
73
- name : Test
71
- run : |
72
- cabal test all --enable-tests --enable-benchmarks --write-ghc-environment-files=ghc8.4.4+
74
+ run : cabal test all --enable-tests --enable-benchmarks
73
75
74
76
check :
75
77
needs : build
0 commit comments