@@ -110,60 +110,60 @@ jobs:
110
110
runs-on : ${{ matrix.os }}
111
111
112
112
steps :
113
- - uses : actions/checkout@v4
114
-
115
- - name : Install devbox
116
- uses : jetify-com/devbox-install-action@v0.11.0
117
- with :
118
- enable-cache : true
119
-
120
- - name : Update cabal registry
121
- run : devbox run -- cabal update
122
-
123
- - name : List exact cabal deps
124
- run : |
125
- devbox run -- cabal freeze --only-dependencies
126
- sed -i '' -e '$ d' cabal.project.freeze
127
-
128
- - name : Cache cabal store
129
- uses : actions/cache@v4
130
- with :
131
- path : ~/. cabal/store
132
- key : deps-${{ matrix.os }}-${{ hashFiles('devbox.lock', 'cabal.project.freeze') }}
133
-
134
- - name : Cache build artifacts
135
- uses : actions/cache@v4
136
- with :
137
- path : dist-newstyle
138
- key : dist -${{ matrix.os }}-${{ github.sha }}
139
- restore-keys : dist-${{ matrix.os }}-
140
-
141
- - name : Cache node_modules
142
- uses : actions/cache@v4
143
- with :
144
- path : node_modules
145
- key : npm -${{ matrix.os }}-${{ hashFiles('devbox.lock', 'package-lock.json') }}
146
-
147
- - name : Install npm dependencies
148
- run : devbox run -- npm install
149
-
150
- - name : Configure
151
- run : devbox run -- cabal configure --enable-tests -O2
152
-
153
- - name : Build
154
- run : devbox run -- cabal build
155
-
156
- - name : Tests
157
- run : devbox run test
158
-
159
- - name : Move binary
160
- run : cp `devbox run -- cabal list-bin .` ./ gren
161
-
162
- - uses : actions/upload-artifact@v4
163
- with :
164
- name : gren-${{ matrix.os }}
165
- path : gren
166
- retention-days : 14
113
+ steps :
114
+ - uses : actions/checkout@v4
115
+
116
+ - name : Cache ghcup
117
+ uses : actions/cache@v4
118
+ with :
119
+ path : ~/.ghcup
120
+ key : ghcup-${{ matrix.os }}-${{ env.ghc }}
121
+
122
+ - id : setup-haskell
123
+ uses : haskell/actions/setup@v2
124
+ with :
125
+ ghc-version : ${{ env.ghc }}
126
+ cabal-version : ${{ env.cabal }}
127
+
128
+ - name : List exact cabal deps
129
+ run : |
130
+ cabal freeze --only-dependencies
131
+ sed -i '' -e '$ d' cabal.project.freeze
132
+
133
+ - name : Cache cabal store
134
+ uses : actions/cache@v4
135
+ with :
136
+ path : ${{ steps.setup-haskell.outputs.cabal-store }}
137
+ key : deps-${{ matrix.os }}-${{ env.ghc }}-${{ hashFiles('cabal.project.freeze') }}
138
+ restore-keys : deps -${{ matrix.os }}-${{ env.ghc }}-
139
+
140
+ - name : Cache build artifacts
141
+ uses : actions/cache@v4
142
+ with :
143
+ path : dist-newstyle
144
+ key : dist-${{ matrix.os }}-${{ env.ghc }}-${{ github.sha }}
145
+ restore-keys : dist -${{ matrix.os }}-${{ env.ghc }}-
146
+
147
+ - name : Configure
148
+ run : cabal configure --enable-tests -O2
149
+
150
+ - name : Build
151
+ run : cabal build
152
+
153
+ - name : Tests
154
+ run : cabal test
155
+
156
+ - name : Move binary
157
+ run : cp `cabal list-bin .` ./gren
158
+
159
+ - name : Strip
160
+ run : strip gren
161
+
162
+ - uses : actions/upload-artifact@v4
163
+ with :
164
+ name : gren-${{ matrix.os }}
165
+ path : gren
166
+ retention-days : 14
167
167
168
168
windows :
169
169
runs-on : windows-latest
0 commit comments