@@ -24,26 +24,26 @@ jobs:
24
24
ormolu :
25
25
runs-on : ubuntu-latest
26
26
steps :
27
- - uses : actions/checkout@v3
28
- - uses : haskell-actions/run-ormolu@v12
27
+ - uses : actions/checkout@v4
28
+ - uses : haskell-actions/run-ormolu@v15
29
29
with :
30
30
version : " 0.5.0.1"
31
31
32
32
hlint :
33
33
runs-on : ubuntu-latest
34
34
steps :
35
- - uses : actions/checkout@v3
35
+ - uses : actions/checkout@v4
36
36
37
- - name : ' Set up HLint'
38
- uses : haskell/actions/hlint-setup@v2
39
- with :
40
- version : ' 3.5'
37
+ - name : " Set up HLint"
38
+ uses : haskell/actions/hlint-setup@v2
39
+ with :
40
+ version : " 3.5"
41
41
42
- - name : ' Run HLint'
43
- uses : haskell/actions/hlint-run@v2
44
- with :
45
- path : ' ["src/", "test/", "examples"]'
46
- fail-on : warning
42
+ - name : " Run HLint"
43
+ uses : haskell/actions/hlint-run@v2
44
+ with :
45
+ path : ' ["src/", "test/", "examples"]'
46
+ fail-on : warning
47
47
48
48
cabal :
49
49
name : ${{ matrix.os }} / ghc-${{ matrix.ghc }} / cabal-${{ matrix.cabal }}
@@ -52,96 +52,95 @@ jobs:
52
52
strategy :
53
53
matrix :
54
54
os : [ubuntu-latest, windows-latest] # Removed macos-latest due to cert issues.
55
- cabal : ["3.6", "3. 8", "latest"]
55
+ cabal : ["3.8", "latest"]
56
56
ghc :
57
+ - " 9.6"
57
58
- " 9.4"
58
59
- " 9.2"
59
60
- " 9.0"
60
61
- " 8.10"
61
- - " 8.8"
62
- - " 8.6"
63
- exclude :
64
- - os : windows-latest
65
- ghc : " 9.4"
66
- cabal : " 3.6"
62
+ # exclude:
63
+ # - os: windows-latest
64
+ # ghc: "9.4"
65
+ # cabal: "3.6"
67
66
68
67
steps :
69
- - uses : actions/checkout@v3
70
- if : github.event.action == 'opened' || github.event.action == 'synchronize' || github.event.ref == 'refs/heads/master'
71
-
72
- - uses : haskell/actions/setup@v2
73
- id : setup-haskell-cabal
74
- name : Setup Haskell
75
- with :
76
- ghc-version : ${{ matrix.ghc }}
77
- cabal-version : ${{ matrix.cabal }}
78
-
79
- - name : Configure
80
- run : |
81
- cabal configure --enable-tests --enable-benchmarks --test-show-details=direct -fexamples -fdev -flive-test
82
-
83
- - name : Freeze
84
- run : |
85
- cabal freeze
86
-
87
- - uses : actions/cache@v3
88
- name : Cache ~/.cabal/packages, ~/.cabal/store and dist-newstyle
89
- with :
90
- path : |
91
- ~/.cabal/packages
92
- ~/.cabal/store
93
- dist-newstyle
94
- key : ${{ runner.os }}-${{ matrix.ghc }}-${{ hashFiles('**/*.cabal', '**/cabal.project', '**/cabal.project.freeze') }}
95
- restore-keys : ${{ runner.os }}-${{ matrix.ghc }}-
96
-
97
- - name : Install dependencies
98
- run : |
99
- cabal build --only-dependencies
100
-
101
- - name : Build
102
- run : |
103
- cabal build
104
-
105
- - name : Setup MinIO for testing (Linux)
106
- if : matrix.os == 'ubuntu-latest'
107
- run : |
108
- mkdir -p /tmp/minio /tmp/minio-config/certs
109
- cp test/cert/* /tmp/minio-config/certs/
110
- (cd /tmp/minio; wget -q https://dl.min.io/server/minio/release/linux-amd64/minio; chmod +x ./minio)
111
- sudo cp /tmp/minio-config/certs/public.crt /usr/local/share/ca-certificates/
112
- sudo update-ca-certificates
113
-
114
- - name : Setup MinIO for testing (MacOS)
115
- if : matrix.os == 'macos-latest'
116
- run : |
117
- mkdir -p /tmp/minio /tmp/minio-config/certs
118
- cp test/cert/* /tmp/minio-config/certs/
119
- (cd /tmp/minio; wget -q https://dl.min.io/server/minio/release/darwin-amd64/minio; chmod +x ./minio)
120
- sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain /tmp/minio-config/certs/public.crt
121
-
122
- - name : Setup MinIO for testing (Windows)
123
- if : matrix.os == 'windows-latest'
124
- run : |
125
- New-Item -ItemType Directory -Path "$env:temp/minio-config/certs/"
126
- Copy-Item -Path test\cert\* -Destination "$env:temp/minio-config/certs/"
127
- Invoke-WebRequest -Uri https://dl.minio.io/server/minio/release/windows-amd64/minio.exe -OutFile $HOME/minio.exe
128
- Import-Certificate -FilePath "$env:temp/minio-config/certs/public.crt" -CertStoreLocation Cert:\LocalMachine\Root
129
-
130
- - name : Test (Non-Windows)
131
- if : matrix.os != 'windows-latest'
132
- run : |
133
- /tmp/minio/minio server --quiet --certs-dir /tmp/minio-config/certs data1 data2 data3 data4 2>&1 > minio.log &
134
- ghc --version
135
- cabal --version
136
- cabal test
137
-
138
- - name : Test (Windows)
139
- if : matrix.os == 'windows-latest'
140
- run : |
141
- Start-Process -NoNewWindow -FilePath "$HOME/minio.exe" -ArgumentList "--certs-dir", "$env:temp/minio-config/certs", "server", "$env:temp/data1", "$env:temp/data2", "$env:temp/data3", "$env:temp/data4"
142
- ghc --version
143
- cabal --version
144
- cabal test
68
+ - uses : actions/checkout@v4
69
+ if : github.event.action == 'opened' || github.event.action == 'synchronize' || github.event.ref == 'refs/heads/master'
70
+
71
+ - uses : haskell/actions/setup@v2
72
+ id : setup-haskell-cabal
73
+ name : Setup Haskell
74
+ with :
75
+ ghc-version : ${{ matrix.ghc }}
76
+ cabal-version : ${{ matrix.cabal }}
77
+
78
+ - name : Configure
79
+ run : |
80
+ cabal configure --enable-tests --enable-benchmarks --test-show-details=direct -fexamples -fdev -flive-test
81
+
82
+ - name : Freeze
83
+ run : |
84
+ cabal freeze
85
+
86
+ - uses : actions/cache@v3
87
+ name : Cache ~/.cabal/packages, ~/.cabal/store and dist-newstyle
88
+ with :
89
+ path : |
90
+ ~/.cabal/packages
91
+ ~/.cabal/store
92
+ dist-newstyle
93
+ key : ${{ runner.os }}-${{ matrix.ghc }}-${{ hashFiles('**/*.cabal', '**/cabal.project', '**/cabal.project.freeze') }}
94
+ restore-keys : ${{ runner.os }}-${{ matrix.ghc }}-
95
+
96
+ - name : Install dependencies
97
+ run : |
98
+ cabal build --only-dependencies
99
+
100
+ - name : Build
101
+ run : |
102
+ cabal build
103
+
104
+ - name : Setup MinIO for testing (Linux)
105
+ if : matrix.os == 'ubuntu-latest'
106
+ run : |
107
+ mkdir -p /tmp/minio /tmp/minio-config/certs
108
+ cp test/cert/* /tmp/minio-config/certs/
109
+ (cd /tmp/minio; wget -q https://dl.min.io/server/minio/release/linux-amd64/minio; chmod +x ./minio)
110
+ sudo cp /tmp/minio-config/certs/public.crt /usr/local/share/ca-certificates/
111
+ sudo update-ca-certificates
112
+
113
+ - name : Setup MinIO for testing (MacOS)
114
+ if : matrix.os == 'macos-latest'
115
+ run : |
116
+ mkdir -p /tmp/minio /tmp/minio-config/certs
117
+ cp test/cert/* /tmp/minio-config/certs/
118
+ (cd /tmp/minio; wget -q https://dl.min.io/server/minio/release/darwin-amd64/minio; chmod +x ./minio)
119
+ sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain /tmp/minio-config/certs/public.crt
120
+
121
+ - name : Setup MinIO for testing (Windows)
122
+ if : matrix.os == 'windows-latest'
123
+ run : |
124
+ New-Item -ItemType Directory -Path "$env:temp/minio-config/certs/"
125
+ Copy-Item -Path test\cert\* -Destination "$env:temp/minio-config/certs/"
126
+ Invoke-WebRequest -Uri https://dl.minio.io/server/minio/release/windows-amd64/minio.exe -OutFile $HOME/minio.exe
127
+ Import-Certificate -FilePath "$env:temp/minio-config/certs/public.crt" -CertStoreLocation Cert:\LocalMachine\Root
128
+
129
+ - name : Test (Non-Windows)
130
+ if : matrix.os != 'windows-latest'
131
+ run : |
132
+ /tmp/minio/minio server --quiet --certs-dir /tmp/minio-config/certs data1 data2 data3 data4 2>&1 > minio.log &
133
+ ghc --version
134
+ cabal --version
135
+ cabal test
136
+
137
+ - name : Test (Windows)
138
+ if : matrix.os == 'windows-latest'
139
+ run : |
140
+ Start-Process -NoNewWindow -FilePath "$HOME/minio.exe" -ArgumentList "--certs-dir", "$env:temp/minio-config/certs", "server", "$env:temp/data1", "$env:temp/data2", "$env:temp/data3", "$env:temp/data4"
141
+ ghc --version
142
+ cabal --version
143
+ cabal test
145
144
146
145
stack :
147
146
name : stack / ghc ${{ matrix.ghc }}
@@ -151,80 +150,83 @@ jobs:
151
150
ghc :
152
151
- " 8.10.7"
153
152
- " 9.0.2"
154
- - " 9.2.4"
153
+ - " 9.2.8"
154
+ - " 9.4.8"
155
+ - " 9.6.5"
155
156
os : [ubuntu-latest]
156
157
157
158
steps :
158
- - uses : actions/checkout@v3
159
- if : github.event.action == 'opened' || github.event.action == 'synchronize' || github.event.ref == 'refs/heads/master'
160
-
161
- - uses : haskell/actions/setup@v2
162
- name : Setup Haskell Stack
163
- with :
164
- enable-stack : true
165
- ghc-version : ${{ matrix.ghc }}
166
- stack-version : ' latest'
167
-
168
- - uses : actions/cache@v3
169
- name : Cache ~/.stack
170
- with :
171
- path : ~/.stack
172
- key : ${{ runner.os }}-stack-global-${{ hashFiles('stack.yaml') }}-${{ hashFiles('package.yaml') }}
173
- restore-keys : |
174
- ${{ runner.os }}-stack-global-
175
- - uses : actions/cache@v3
176
- name : Cache .stack-work
177
- with :
178
- path : .stack-work
179
- key : ${{ runner.os }}-stack-work-${{ hashFiles('stack.yaml') }}-${{ hashFiles('package.yaml') }}-${{ hashFiles('**/*.hs') }}
180
- restore-keys : |
181
- ${{ runner.os }}-stack-work-
182
-
183
- - name : Install dependencies
184
- run : |
185
- stack build --system-ghc --test --bench --no-run-tests --no-run-benchmarks --only-dependencies
186
-
187
- - name : Build
188
- run : |
189
- stack build --system-ghc --test --bench --no-run-tests --no-run-benchmarks --flag minio-hs:examples --flag minio-hs:live-test --flag minio-hs:dev
190
-
191
- - name : Setup MinIO for testing (Linux)
192
- if : matrix.os == 'ubuntu-latest'
193
- run : |
194
- mkdir -p /tmp/minio /tmp/minio-config/certs
195
- cp test/cert/* /tmp/minio-config/certs/
196
- (cd /tmp/minio; wget -q https://dl.min.io/server/minio/release/linux-amd64/minio; chmod +x ./minio)
197
- sudo cp /tmp/minio-config/certs/public.crt /usr/local/share/ca-certificates/
198
- sudo update-ca-certificates
199
-
200
- - name : Setup MinIO for testing (MacOS)
201
- if : matrix.os == 'macos-latest'
202
- run : |
203
- mkdir -p /tmp/minio /tmp/minio-config/certs
204
- cp test/cert/* /tmp/minio-config/certs/
205
- (cd /tmp/minio; wget -q https://dl.min.io/server/minio/release/darwin-amd64/minio; chmod +x ./minio)
206
- sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain /tmp/minio-config/certs/public.crt
207
-
208
- - name : Setup MinIO for testing (Windows)
209
- if : matrix.os == 'windows-latest'
210
- run : |
211
- New-Item -ItemType Directory -Path "$env:temp/minio-config/certs/"
212
- Copy-Item -Path test\cert\* -Destination "$env:temp/minio-config/certs/"
213
- Invoke-WebRequest -Uri https://dl.minio.io/server/minio/release/windows-amd64/minio.exe -OutFile $HOME/minio.exe
214
- Import-Certificate -FilePath "$env:temp/minio-config/certs/public.crt" -CertStoreLocation Cert:\LocalMachine\Root
215
-
216
- - name : Test (Non-Windows)
217
- if : matrix.os != 'windows-latest'
218
- run : |
219
- /tmp/minio/minio server --quiet --certs-dir /tmp/minio-config/certs data1 data2 data3 data4 2>&1 > minio.log &
220
- ghc --version
221
- stack --version
222
- stack test --system-ghc --flag minio-hs:live-test --flag minio-hs:dev
223
-
224
- - name : Test (Windows)
225
- if : matrix.os == 'windows-latest'
226
- run : |
227
- Start-Process -NoNewWindow -FilePath "$HOME/minio.exe" -ArgumentList "--certs-dir", "$env:temp/minio-config/certs", "server", "$env:temp/data1", "$env:temp/data2", "$env:temp/data3", "$env:temp/data4"
228
- ghc --version
229
- cabal --version
230
- stack test --system-ghc --flag minio-hs:live-test --flag minio-hs:dev
159
+ - uses : actions/checkout@v4
160
+ if : github.event.action == 'opened' || github.event.action == 'synchronize' || github.event.ref == 'refs/heads/master'
161
+
162
+ - name : Install Haskell Stack
163
+ run : |
164
+ if ! which stack
165
+ then
166
+ curl -sSL https://get.haskellstack.org/ | sh
167
+ fi
168
+
169
+ - uses : actions/cache@v3
170
+ name : Cache ~/.stack
171
+ with :
172
+ path : ~/.stack
173
+ key : ${{ runner.os }}-stack-global-${{ hashFiles('stack.yaml') }}-${{ hashFiles('package.yaml') }}
174
+ restore-keys : |
175
+ ${{ runner.os }}-stack-global-
176
+ - uses : actions/cache@v3
177
+ name : Cache .stack-work
178
+ with :
179
+ path : .stack-work
180
+ key : ${{ runner.os }}-stack-work-${{ hashFiles('stack.yaml') }}-${{ hashFiles('package.yaml') }}-${{ hashFiles('**/*.hs') }}
181
+ restore-keys : |
182
+ ${{ runner.os }}-stack-work-
183
+
184
+ - name : Install dependencies
185
+ run : |
186
+ stack --version
187
+ stack build --system-ghc --test --bench --no-run-tests --no-run-benchmarks --only-dependencies
188
+
189
+ - name : Build
190
+ run : |
191
+ stack build --system-ghc --test --bench --no-run-tests --no-run-benchmarks --flag minio-hs:examples --flag minio-hs:live-test --flag minio-hs:dev
192
+
193
+ - name : Setup MinIO for testing (Linux)
194
+ if : matrix.os == 'ubuntu-latest'
195
+ run : |
196
+ mkdir -p /tmp/minio /tmp/minio-config/certs
197
+ cp test/cert/* /tmp/minio-config/certs/
198
+ (cd /tmp/minio; wget -q https://dl.min.io/server/minio/release/linux-amd64/minio; chmod +x ./minio)
199
+ sudo cp /tmp/minio-config/certs/public.crt /usr/local/share/ca-certificates/
200
+ sudo update-ca-certificates
201
+
202
+ - name : Setup MinIO for testing (MacOS)
203
+ if : matrix.os == 'macos-latest'
204
+ run : |
205
+ mkdir -p /tmp/minio /tmp/minio-config/certs
206
+ cp test/cert/* /tmp/minio-config/certs/
207
+ (cd /tmp/minio; wget -q https://dl.min.io/server/minio/release/darwin-amd64/minio; chmod +x ./minio)
208
+ sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain /tmp/minio-config/certs/public.crt
209
+
210
+ - name : Setup MinIO for testing (Windows)
211
+ if : matrix.os == 'windows-latest'
212
+ run : |
213
+ New-Item -ItemType Directory -Path "$env:temp/minio-config/certs/"
214
+ Copy-Item -Path test\cert\* -Destination "$env:temp/minio-config/certs/"
215
+ Invoke-WebRequest -Uri https://dl.minio.io/server/minio/release/windows-amd64/minio.exe -OutFile $HOME/minio.exe
216
+ Import-Certificate -FilePath "$env:temp/minio-config/certs/public.crt" -CertStoreLocation Cert:\LocalMachine\Root
217
+
218
+ - name : Test (Non-Windows)
219
+ if : matrix.os != 'windows-latest'
220
+ run : |
221
+ /tmp/minio/minio server --quiet --certs-dir /tmp/minio-config/certs data1 data2 data3 data4 2>&1 > minio.log &
222
+ ghc --version
223
+ stack --version
224
+ stack test --system-ghc --flag minio-hs:live-test --flag minio-hs:dev
225
+
226
+ - name : Test (Windows)
227
+ if : matrix.os == 'windows-latest'
228
+ run : |
229
+ Start-Process -NoNewWindow -FilePath "$HOME/minio.exe" -ArgumentList "--certs-dir", "$env:temp/minio-config/certs", "server", "$env:temp/data1", "$env:temp/data2", "$env:temp/data3", "$env:temp/data4"
230
+ ghc --version
231
+ cabal --version
232
+ stack test --system-ghc --flag minio-hs:live-test --flag minio-hs:dev
0 commit comments