Build Logs

guardian/play-brotli-filter • 3.8.0-RC5:2025-12-31

Errors

0

Warnings

6

Total Lines

359

1##################################
2Clonning https://github.com/guardian/play-brotli-filter.git into /build/repo using revision v0.18.0
3##################################
4Note: switching to 'd38a905a56528be7e68a74985c1feeb35482853d'.
5
6You are in 'detached HEAD' state. You can look around, make experimental
7changes and commit them, and you can discard any commits you make in this
8state without impacting any branches by switching back to a branch.
9
10If you want to create a new branch to retain commits you create, you may
11do so (now or later) by using -c with the switch command. Example:
12
13 git switch -c <new-branch-name>
14
15Or undo this operation with:
16
17 git switch -
18
19Turn off this advice by setting config variable advice.detachedHead to false
20
21Would override fixed Scala version: 3.3.4
22----
23Preparing build for 3.8.0-RC5
24Scala binary version found: 3.8
25Implicitly using source version 3.8
26Scala binary version found: 3.8
27Implicitly using source version 3.8
28Would try to apply common scalacOption (best-effort, sbt/mill only):
29Append: ,REQUIRE:-source:3.8
30Remove: ,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
31
32Try apply source patch:
33Path: build.sbt
34Pattern: val Scala3 = "3.3.4"
35Replacement: val Scala3 = "3.8.0-RC5"
36Starting compilation server
37Compiling project (Scala 3.7.3, JVM (21))
38Compiled project (Scala 3.7.3, JVM (21))
39Successfully applied pattern 'val Scala3 = "3.3.4"' in build.sbt
40----
41Starting build for 3.8.0-RC5
42Execute tests: true
43sbt project found:
44Sbt version 1.10.7 is not supported, minimal supported version is 1.11.5
45Enforcing usage of sbt in version 1.11.5
46No prepare script found for project guardian/play-brotli-filter
47##################################
48Scala version: 3.8.0-RC5
49Targets: com.gu%akka-stream-brotli com.gu%brotli4s com.gu%pekko-stream-brotli com.gu%play-v29-brotli-filter com.gu%play-v30-brotli-filter
50Project projectConfig: {"projects":{"exclude":[],"overrides":{}},"java":{"version":"21"},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"full","migrationVersions":[],"sourcePatches":[{"path":"build.sbt","pattern":"val Scala3 = \"3.3.4\"","replaceWith":"val Scala3 = \"<SCALA_VERSION>\""}]}
51##################################
52Using extra scalacOptions: ,REQUIRE:-source:3.8
53Filtering out scalacOptions: ,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
54[sbt_options] declare -a sbt_options=()
55[process_args] java_version = '21'
56[copyRt] java9_rt = '/root/.sbt/1.0/java9-rt-ext-eclipse_adoptium_21/rt.jar'
57# Executing command line:
58java
59-Dfile.encoding=UTF-8
60-Dcommunitybuild.scala=3.8.0-RC5
61-Dcommunitybuild.project.dependencies.add=
62-Xmx7G
63-Xms4G
64-Xss8M
65-Dsbt.script=/root/.sdkman/candidates/sbt/current/bin/sbt
66-Dscala.ext.dirs=/root/.sbt/1.0/java9-rt-ext-eclipse_adoptium_21
67-jar
68/root/.sdkman/candidates/sbt/1.11.5/bin/sbt-launch.jar
69"setCrossScalaVersions 3.8.0-RC5"
70"++3.8.0-RC5 -v"
71"mapScalacOptions ",REQUIRE:-source:3.8,-Wconf:msg=can be rewritten automatically under:s" ",-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e""
72"set every credentials := Nil"
73"excludeLibraryDependency com.github.ghik:zerowaste_{scalaVersion} com.olegpy:better-monadic-for_3 org.polyvariant:better-tostring_{scalaVersion} org.wartremover:wartremover_{scalaVersion}"
74"removeScalacOptionsStartingWith -P:wartremover"
75
76moduleMappings
77"runBuild 3.8.0-RC5 """{"projects":{"exclude":[],"overrides":{}},"java":{"version":"21"},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"full","migrationVersions":[],"sourcePatches":[{"path":"build.sbt","pattern":"val Scala3 = \"3.3.4\"","replaceWith":"val Scala3 = \"<SCALA_VERSION>\""}]}""" com.gu%akka-stream-brotli com.gu%brotli4s com.gu%pekko-stream-brotli com.gu%play-v29-brotli-filter com.gu%play-v30-brotli-filter"
78
79[info] welcome to sbt 1.11.5 (Eclipse Adoptium Java 21)
80[info] loading settings for project repo-build from akka.sbt, plugins.sbt...
81[info] loading project definition from /build/repo/project
82[info] compiling 2 Scala sources to /build/repo/project/target/scala-2.12/sbt-1.0/classes ...
83[info] Non-compiled module 'compiler-bridge_2.12' for Scala 2.12.20. Compiling...
84[info] Compilation completed in 8.659s.
85[info] done compiling
86[info] loading settings for project play-brotli-filter-root from build.sbt, version.sbt...
87[info] set current project to play-brotli-filter-root (in build file:/build/repo/)
88Execute setCrossScalaVersions: 3.8.0-RC5
89OpenCB::Changing crossVersion 3.8.0-RC5 -> 3.8.0-RC5 in play-v29/crossScalaVersions
90OpenCB::Changing crossVersion 3.8.0-RC5 -> 3.8.0-RC5 in play-v30/crossScalaVersions
91OpenCB::Limitting incorrect crossVersions List() -> List(2.13.15) in play-brotli-filter-root/crossScalaVersions
92OpenCB::Changing crossVersion 3.8.0-RC5 -> 3.8.0-RC5 in pekko/crossScalaVersions
93OpenCB::Changing crossVersion 3.8.0-RC5 -> 3.8.0-RC5 in akka/crossScalaVersions
94OpenCB::Changing crossVersion 3.8.0-RC5 -> 3.8.0-RC5 in common/crossScalaVersions
95[info] set current project to play-brotli-filter-root (in build file:/build/repo/)
96[info] Setting Scala version to 3.8.0-RC5 on 5 projects.
97[info] Switching Scala version on:
98[info] play-v29 (2.13.15, 3.8.0-RC5)
99[info] akka (2.12.20, 2.13.15, 3.8.0-RC5)
100[info] common (2.12.20, 2.13.15, 3.8.0-RC5)
101[info] play-v30 (2.13.15, 3.8.0-RC5)
102[info] pekko (2.13.15, 3.8.0-RC5)
103[info] Excluding projects:
104[info] * play-brotli-filter-root (2.13.15)
105[info] play-v28 (2.12.20, 2.13.15)
106[info] Reapplying settings...
107[info] set current project to play-brotli-filter-root (in build file:/build/repo/)
108Execute mapScalacOptions: ,REQUIRE:-source:3.8,-Wconf:msg=can be rewritten automatically under:s ,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
109[info] Reapplying settings...
110[info] set current project to play-brotli-filter-root (in build file:/build/repo/)
111[info] Defining Global / credentials, akka / credentials and 5 others.
112[info] The new values will be used by Global / pgpSelectPassphrase, Global / pgpSigningKey and 34 others.
113[info] Run `last` for details.
114[info] Reapplying settings...
115[info] set current project to play-brotli-filter-root (in build file:/build/repo/)
116Execute excludeLibraryDependency: com.github.ghik:zerowaste_{scalaVersion} com.olegpy:better-monadic-for_3 org.polyvariant:better-tostring_{scalaVersion} org.wartremover:wartremover_{scalaVersion}
117[info] Reapplying settings...
118OpenCB::Failed to reapply settings in excludeLibraryDependency: Reference to undefined setting:
119
120 Global / allExcludeDependencies from Global / allExcludeDependencies (CommunityBuildPlugin.scala:331)
121 Did you mean play-v30 / allExcludeDependencies ?
122 , retry without global scopes
123[info] Reapplying settings...
124[info] set current project to play-brotli-filter-root (in build file:/build/repo/)
125Execute removeScalacOptionsStartingWith: -P:wartremover
126[info] Reapplying settings...
127[info] set current project to play-brotli-filter-root (in build file:/build/repo/)
128[success] Total time: 0 s, completed Dec 31, 2025, 9:03:16 PM
129Build config: {"projects":{"exclude":[],"overrides":{}},"java":{"version":"21"},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"full","migrationVersions":[],"sourcePatches":[{"path":"build.sbt","pattern":"val Scala3 = \"3.3.4\"","replaceWith":"val Scala3 = \"<SCALA_VERSION>\""}]}
130Parsed config: Success(ProjectBuildConfig(ProjectsConfig(List(),Map()),Full,List()))
131Starting build...
132Projects: Set(play-v29, akka, common, play-v30, pekko)
133Starting build for ProjectRef(file:/build/repo/,play-v29) (play-v29-brotli-filter)... [0/5]
134OpenCB::Exclude Scala3 specific scalacOption `REQUIRE:-source:3.8` in Scala 2.12.20 module Global
135OpenCB::Filter out '-feature', matches setting pattern '^-?-feature'
136OpenCB::Filter out '-deprecation', matches setting pattern '^-?-deprecation'
137Compile scalacOptions: -Wconf:msg=can be rewritten automatically under:s, -source:3.8
138[info] compiling 1 Java source to /build/repo/common/target/scala-3.8.0-RC5/classes ...
139[warn] /build/repo/common/src/main/java/Brotli.java:80:19: getSecurityManager() in java.lang.System has been deprecated and marked for removal
140[warn] System.getSecurityManager
141[warn] ^
142[warn] /build/repo/common/src/main/java/Brotli.java:83:20: java.security.AccessController in java.security has been deprecated and marked for removal
143[warn] AccessController
144[warn] ^
145[info] done compiling
146[info] compiling 3 Scala sources to /build/repo/akka/target/scala-3.8.0-RC5/classes ...
147[info] done compiling
148[info] compiling 2 Scala sources to /build/repo/play-v29/target/scala-3.8.0-RC5/classes ...
149[info] done compiling
150[info] compiling 1 Scala source to /build/repo/play-v29/target/scala-3.8.0-RC5/test-classes ...
151[info] done compiling
152[info] BrotliFilterSpec
153[info] The BrotliFilter should
154[info] + compress responses with brotli
155[info] + compress a response with brotli if (and only if) it is accepted and preferred by the request.
156[info] Although not explicitly mentioned in RFC 2616 sect. 14.3, the default qvalue
157[info] is assumed to be 1 for all mentioned codings. If no "*" is present, unmentioned
158[info] codings are assigned a qvalue of 0, except the identity coding which gets q=0.001,
159[info] which is the lowest possible acceptable qvalue.
160[info] This seems to be the most consistent behaviour with respect to the other "accept"
161[info] header fields described in sect 14.1-5.
162[info] + not brotli empty responses
163[info] + not brotli responses when not requested
164[info] + not brotli HEAD requests
165[info] + not brotli no content responses
166[info] + not brotli not modified responses
167[info] + brotli chunked responses
168[info] + not buffer more than the configured threshold
169[info] + brotli a strict body even if it exceeds the threshold
170[info] + brotli entire content for large files
171[info] + preserve original headers
172[info] + preserve original cookies
173[info] + preserve original session
174[info] + preserve original Vary header values
175[info] + preserve original Vary header values and not duplicate case-insensitive ACCEPT-ENCODING
176[info] Total for specification BrotliFilterSpec
177[info] Finished in 3 seconds, 0 ms
178[info] 16 examples, 0 failure, 0 error
179Starting build for ProjectRef(file:/build/repo/,akka) (akka-stream-brotli)... [1/5]
180Compile scalacOptions: -Wconf:msg=can be rewritten automatically under:s, -source:3.8
181[info] compiling 5 Scala sources to /build/repo/akka/target/scala-3.8.0-RC5/test-classes ...
182[info] done compiling
183[INFO] [12/31/2025 21:03:42.642] [pool-27-thread-5] [CoordinatedShutdown(akka://BrotliSpec)] Running CoordinatedShutdown with reason [ActorSystemTerminateReason]
184[INFO] [12/31/2025 21:03:42.642] [pool-27-thread-1] [CoordinatedShutdown(akka://GzipSpec)] Running CoordinatedShutdown with reason [ActorSystemTerminateReason]
185[info] GzipSpec:
186[info] The gzip codec
187[info] - should properly encode a small string
188[info] - should properly decode a small string
189[info] - should properly round-trip encode/decode a small string
190[info] - should properly encode a large string
191[info] - should properly decode a large string
192[info] - should properly round-trip encode/decode a large string
193[info] - should throw an error on corrupt input
194[info] - should decompress in very small chunks
195[info] - should support chunked round-trip encoding/decoding
196[info] - should works for any split in prefix + suffix
197[info] - should works for chunked compressed data of sizes just above 1024
198[info] - should shouldn't produce huge ByteStrings for some input
199[info] - should decode concatenated compressions
200[info] - should provide a better compression ratio than the standard Gzip/Gunzip streams
201[info] - should throw an error on truncated input
202[info] - should throw an error if compressed data is just missing the trailer at the end
203[info] - should throw early if header is corrupt
204[info] BrotliSpec:
205[info] The brotli codec
206[info] - should properly encode a small string
207[info] - should properly decode a small string
208[info] - should properly round-trip encode/decode a small string
209[info] - should properly encode a large string
210[info] - should properly decode a large string
211[info] - should properly round-trip encode/decode a large string
212[info] - should decompress in very small chunks
213[info] - should support chunked round-trip encoding/decoding
214[info] - should works for any split in prefix + suffix
215[info] - should works for chunked compressed data of sizes just above 1024
216[info] - should shouldn't produce huge ByteStrings for some input
217[info] - should decode concatenated compressions (pending)
218[info] - should provide a similar compression ratio than the standard Brotli/Unbortli streams
219[info] - should throw an error on truncated input
220Starting build for ProjectRef(file:/build/repo/,play-v30) (play-v30-brotli-filter)... [2/5]
221Compile scalacOptions: -Wconf:msg=can be rewritten automatically under:s, -source:3.8
222[info] compiling 3 Scala sources to /build/repo/pekko/target/scala-3.8.0-RC5/classes ...
223[info] done compiling
224[info] compiling 2 Scala sources to /build/repo/play-v30/target/scala-3.8.0-RC5/classes ...
225[info] done compiling
226[info] compiling 1 Scala source to /build/repo/play-v30/target/scala-3.8.0-RC5/test-classes ...
227[info] done compiling
228[info] BrotliFilterSpec
229[info] The BrotliFilter should
230[info] + compress responses with brotli
231[info] + compress a response with brotli if (and only if) it is accepted and preferred by the request.
232[info] Although not explicitly mentioned in RFC 2616 sect. 14.3, the default qvalue
233[info] is assumed to be 1 for all mentioned codings. If no "*" is present, unmentioned
234[info] codings are assigned a qvalue of 0, except the identity coding which gets q=0.001,
235[info] which is the lowest possible acceptable qvalue.
236[info] This seems to be the most consistent behaviour with respect to the other "accept"
237[info] header fields described in sect 14.1-5.
238[info] + not brotli empty responses
239[info] + not brotli responses when not requested
240[info] + not brotli HEAD requests
241[info] + not brotli no content responses
242[info] + not brotli not modified responses
243[info] + brotli chunked responses
244[info] + not buffer more than the configured threshold
245[info] + brotli a strict body even if it exceeds the threshold
246[info] + brotli entire content for large files
247[info] + preserve original headers
248[info] + preserve original cookies
249[info] + preserve original session
250[info] + preserve original Vary header values
251[info] + preserve original Vary header values and not duplicate case-insensitive ACCEPT-ENCODING
252[info] Total for specification BrotliFilterSpec
253[info] Finished in 2 seconds, 265 ms
254[info] 16 examples, 0 failure, 0 error
255Starting build for ProjectRef(file:/build/repo/,pekko) (pekko-stream-brotli)... [3/5]
256Compile scalacOptions: -Wconf:msg=can be rewritten automatically under:s, -source:3.8
257[info] compiling 5 Scala sources to /build/repo/pekko/target/scala-3.8.0-RC5/test-classes ...
258[info] done compiling
259[INFO] [12/31/2025 21:03:53.417] [pool-46-thread-7] [CoordinatedShutdown(pekko://GzipSpec)] Running CoordinatedShutdown with reason [ActorSystemTerminateReason]
260[INFO] [12/31/2025 21:03:53.417] [pool-46-thread-3] [CoordinatedShutdown(pekko://BrotliSpec)] Running CoordinatedShutdown with reason [ActorSystemTerminateReason]
261[info] BrotliSpec:
262[info] The brotli codec
263[info] - should properly encode a small string
264[info] - should properly decode a small string
265[info] - should properly round-trip encode/decode a small string
266[info] - should properly encode a large string
267[info] - should properly decode a large string
268[info] - should properly round-trip encode/decode a large string
269[info] - should decompress in very small chunks
270[info] - should support chunked round-trip encoding/decoding
271[info] - should works for any split in prefix + suffix
272[info] - should works for chunked compressed data of sizes just above 1024
273[info] - should shouldn't produce huge ByteStrings for some input
274[info] - should decode concatenated compressions (pending)
275[info] - should provide a similar compression ratio than the standard Brotli/Unbortli streams
276[info] - should throw an error on truncated input
277[info] GzipSpec:
278[info] The gzip codec
279[info] - should properly encode a small string
280[info] - should properly decode a small string
281[info] - should properly round-trip encode/decode a small string
282[info] - should properly encode a large string
283[info] - should properly decode a large string
284[info] - should properly round-trip encode/decode a large string
285[info] - should throw an error on corrupt input
286[info] - should decompress in very small chunks
287[info] - should support chunked round-trip encoding/decoding
288[info] - should works for any split in prefix + suffix
289[info] - should works for chunked compressed data of sizes just above 1024
290[info] - should shouldn't produce huge ByteStrings for some input
291[info] - should decode concatenated compressions
292[info] - should provide a better compression ratio than the standard Gzip/Gunzip streams
293[info] - should throw an error on truncated input
294[info] - should throw an error if compressed data is just missing the trailer at the end
295[info] - should throw early if header is corrupt
296Starting build for ProjectRef(file:/build/repo/,common) (brotli4s)... [4/5]
297Compile scalacOptions: -Wconf:msg=can be rewritten automatically under:s, -source:3.8
298
299************************
300Build summary:
301[{
302 "module": "play-v29-brotli-filter",
303 "compile": {"status": "ok", "tookMs": 7335, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
304 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
305 "test-compile": {"status": "ok", "tookMs": 3877, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
306 "test": {"status": "ok", "tookMs": 4077, "passed": 16, "failed": 0, "ignored": 0, "skipped": 0, "total": 16, "byFramework": [{"framework": "specs2", "stats": {"passed": 16, "failed": 0, "ignored": 0, "skipped": 0, "total": 16}}]},
307 "publish": {"status": "skipped", "tookMs": 0},
308 "metadata": {
309 "crossScalaVersions": ["2.13.15", "3.3.4"]
310}
311},{
312 "module": "akka-stream-brotli",
313 "compile": {"status": "ok", "tookMs": 90, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
314 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
315 "test-compile": {"status": "ok", "tookMs": 2595, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
316 "test": {"status": "ok", "tookMs": 911, "passed": 30, "failed": 0, "ignored": 0, "skipped": 0, "total": 30, "byFramework": [{"framework": "unknown", "stats": {"passed": 30, "failed": 0, "ignored": 0, "skipped": 0, "total": 30}}]},
317 "publish": {"status": "skipped", "tookMs": 0},
318 "metadata": {
319 "crossScalaVersions": ["2.12.20", "2.13.15", "3.3.4"]
320}
321},{
322 "module": "play-v30-brotli-filter",
323 "compile": {"status": "ok", "tookMs": 1469, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
324 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
325 "test-compile": {"status": "ok", "tookMs": 1918, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
326 "test": {"status": "ok", "tookMs": 2792, "passed": 16, "failed": 0, "ignored": 0, "skipped": 0, "total": 16, "byFramework": [{"framework": "specs2", "stats": {"passed": 16, "failed": 0, "ignored": 0, "skipped": 0, "total": 16}}]},
327 "publish": {"status": "skipped", "tookMs": 0},
328 "metadata": {
329 "crossScalaVersions": ["2.13.15", "3.3.4"]
330}
331},{
332 "module": "pekko-stream-brotli",
333 "compile": {"status": "ok", "tookMs": 71, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
334 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
335 "test-compile": {"status": "ok", "tookMs": 1540, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
336 "test": {"status": "ok", "tookMs": 664, "passed": 30, "failed": 0, "ignored": 0, "skipped": 0, "total": 30, "byFramework": [{"framework": "unknown", "stats": {"passed": 30, "failed": 0, "ignored": 0, "skipped": 0, "total": 30}}]},
337 "publish": {"status": "skipped", "tookMs": 0},
338 "metadata": {
339 "crossScalaVersions": ["2.13.15", "3.3.4"]
340}
341},{
342 "module": "brotli4s",
343 "compile": {"status": "ok", "tookMs": 37, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
344 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
345 "test-compile": {"status": "ok", "tookMs": 80, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
346 "test": {"status": "ok", "tookMs": 59, "passed": 0, "failed": 0, "ignored": 0, "skipped": 0, "total": 0, "byFramework": []},
347 "publish": {"status": "skipped", "tookMs": 0},
348 "metadata": {
349 "crossScalaVersions": ["2.12.20", "2.13.15", "3.3.4"]
350}
351}]
352************************
353[success] Total time: 37 s, completed Dec 31, 2025, 9:03:53 PM
354[0JChecking patch project/plugins.sbt...
355Checking patch project/build.properties...
356Checking patch build.sbt...
357Applied patch project/plugins.sbt cleanly.
358Applied patch project/build.properties cleanly.
359Applied patch build.sbt cleanly.