Build Logs

valskalla/odin • 3.8.0:2026-01-13

Errors

1

Warnings

16

Total Lines

403

1##################################
2Clonning https://github.com/valskalla/odin.git into /build/repo using revision v0.13.0
3##################################
4Note: switching to 'c3ec9c5829ff54a3ee97bd838453e5aef0390ce6'.
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
21----
22Preparing build for 3.8.0
23Scala binary version found: 3.8
24Implicitly using source version 3.8
25Scala binary version found: 3.8
26Implicitly using source version 3.8
27Would try to apply common scalacOption (best-effort, sbt/mill only):
28Append: ,REQUIRE:-source:3.8
29Remove: ,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
30
31Try apply source patch:
32Path: build.sbt
33Pattern: val scala3 = if (onlyScala2) List() else List("3.0.2")
34Replacement: val scala3 = List("3.8.0")
35Starting compilation server
36Compiling project (Scala 3.7.3, JVM (17))
37Compiled project (Scala 3.7.3, JVM (17))
38Successfully applied pattern 'val scala3 = if (onlyScala2) List() else List("3.0.2")' in build.sbt
39----
40Starting build for 3.8.0
41Execute tests: true
42sbt project found:
43Sbt version 1.5.5 is not supported, minimal supported version is 1.11.5
44Enforcing usage of sbt in version 1.11.5
45No prepare script found for project valskalla/odin
46##################################
47Scala version: 3.8.0
48Targets: com.github.valskalla%odin-core com.github.valskalla%odin-extras com.github.valskalla%odin-json com.github.valskalla%odin-slf4j com.github.valskalla%odin-zio
49Project projectConfig: {"projects":{"exclude":[],"overrides":{}},"java":{"version":"17"},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"full","migrationVersions":[],"sourcePatches":[{"path":"build.sbt","pattern":"val scala3 = if (onlyScala2) List() else List(\"3.0.2\")","replaceWith":"val scala3 = List(\"<SCALA_VERSION>\")"}]}
50##################################
51Using extra scalacOptions: ,REQUIRE:-source:3.8
52Filtering out scalacOptions: ,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
53[sbt_options] declare -a sbt_options=()
54[process_args] java_version = '17'
55[copyRt] java9_rt = '/root/.sbt/1.0/java9-rt-ext-eclipse_adoptium_17_0_8/rt.jar'
56# Executing command line:
57java
58-Dfile.encoding=UTF-8
59-Dcommunitybuild.scala=3.8.0
60-Dcommunitybuild.project.dependencies.add=
61-Xmx7G
62-Xms4G
63-Xss8M
64-Dsbt.script=/root/.sdkman/candidates/sbt/current/bin/sbt
65-Dscala.ext.dirs=/root/.sbt/1.0/java9-rt-ext-eclipse_adoptium_17_0_8
66-jar
67/root/.sdkman/candidates/sbt/1.11.5/bin/sbt-launch.jar
68"setCrossScalaVersions 3.8.0"
69"++3.8.0 -v"
70"mapScalacOptions ",REQUIRE:-source:3.8,-Wconf:msg=can be rewritten automatically under:s" ",-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e""
71"set every credentials := Nil"
72"excludeLibraryDependency com.github.ghik:zerowaste_{scalaVersion} com.olegpy:better-monadic-for_3 org.polyvariant:better-tostring_{scalaVersion} org.wartremover:wartremover_{scalaVersion}"
73"removeScalacOptionsStartingWith -P:wartremover"
74
75moduleMappings
76"runBuild 3.8.0 """{"projects":{"exclude":[],"overrides":{}},"java":{"version":"17"},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"full","migrationVersions":[],"sourcePatches":[{"path":"build.sbt","pattern":"val scala3 = if (onlyScala2) List() else List(\"3.0.2\")","replaceWith":"val scala3 = List(\"<SCALA_VERSION>\")"}]}""" com.github.valskalla%odin-core com.github.valskalla%odin-extras com.github.valskalla%odin-json com.github.valskalla%odin-slf4j com.github.valskalla%odin-zio"
77
78[info] welcome to sbt 1.11.5 (Eclipse Adoptium Java 17.0.8)
79[info] loading settings for project repo-build from akka.sbt, plugins.sbt...
80[info] loading project definition from /build/repo/project
81[info] compiling 2 Scala sources to /build/repo/project/target/scala-2.12/sbt-1.0/classes ...
82[info] Non-compiled module 'compiler-bridge_2.12' for Scala 2.12.20. Compiling...
83[info] Compilation completed in 8.539s.
84[info] done compiling
85[info] loading settings for project odin from build.sbt...
86[info] set current project to odin (in build file:/build/repo/)
87Execute setCrossScalaVersions: 3.8.0
88OpenCB::Changing crossVersion 3.8.0 -> 3.8.0 in odin-extras/crossScalaVersions
89OpenCB::Changing crossVersion 3.8.0 -> 3.8.0 in benchmarks/crossScalaVersions
90OpenCB::Changing crossVersion 3.8.0 -> 3.8.0 in odin-monix/crossScalaVersions
91OpenCB::Changing crossVersion 3.8.0 -> 3.8.0 in odin-json/crossScalaVersions
92OpenCB::Changing crossVersion 3.8.0 -> 3.8.0 in odin-core/crossScalaVersions
93OpenCB::Changing crossVersion 3.8.0 -> 3.8.0 in odin/crossScalaVersions
94OpenCB::Changing crossVersion 3.8.0 -> 3.8.0 in odin-zio/crossScalaVersions
95OpenCB::Changing crossVersion 3.8.0 -> 3.8.0 in docs/crossScalaVersions
96OpenCB::Changing crossVersion 3.8.0 -> 3.8.0 in examples/crossScalaVersions
97OpenCB::Changing crossVersion 3.8.0 -> 3.8.0 in odin-slf4j/crossScalaVersions
98[info] set current project to odin (in build file:/build/repo/)
99[info] Setting Scala version to 3.8.0 on 10 projects.
100[info] Switching Scala version on:
101[info] benchmarks (2.13.6, 2.12.13, 3.8.0)
102[info] examples (2.13.6, 2.12.13, 3.8.0)
103[info] * odin (2.13.6, 2.12.13, 3.8.0)
104[info] docs (2.13.6, 2.12.13, 3.8.0)
105[info] odin-core (2.13.6, 2.12.13, 3.8.0)
106[info] odin-zio (2.13.6, 2.12.13, 3.8.0)
107[info] odin-extras (2.13.6, 2.12.13, 3.8.0)
108[info] odin-json (2.13.6, 2.12.13, 3.8.0)
109[info] odin-slf4j (2.13.6, 2.12.13, 3.8.0)
110[info] odin-monix (2.13.6, 2.12.13, 3.8.0)
111[info] Excluding projects:
112[info] Reapplying settings...
113[info] set current project to odin (in build file:/build/repo/)
114Execute mapScalacOptions: ,REQUIRE:-source:3.8,-Wconf:msg=can be rewritten automatically under:s ,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
115[info] Reapplying settings...
116[info] set current project to odin (in build file:/build/repo/)
117[info] Defining Global / credentials, benchmarks / credentials and 8 others.
118[info] The new values will be used by Global / pgpSelectPassphrase, Global / pgpSigningKey and 49 others.
119[info] Run `last` for details.
120[info] Reapplying settings...
121[info] set current project to odin (in build file:/build/repo/)
122Execute excludeLibraryDependency: com.github.ghik:zerowaste_{scalaVersion} com.olegpy:better-monadic-for_3 org.polyvariant:better-tostring_{scalaVersion} org.wartremover:wartremover_{scalaVersion}
123[info] Reapplying settings...
124OpenCB::Failed to reapply settings in excludeLibraryDependency: Reference to undefined setting:
125
126 Global / allExcludeDependencies from Global / allExcludeDependencies (CommunityBuildPlugin.scala:331)
127 Did you mean odin-zio / allExcludeDependencies ?
128 , retry without global scopes
129[info] Reapplying settings...
130[info] set current project to odin (in build file:/build/repo/)
131Execute removeScalacOptionsStartingWith: -P:wartremover
132[info] Reapplying settings...
133[info] set current project to odin (in build file:/build/repo/)
134[success] Total time: 0 s, completed Jan 13, 2026, 3:57:47 PM
135Build config: {"projects":{"exclude":[],"overrides":{}},"java":{"version":"17"},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"full","migrationVersions":[],"sourcePatches":[{"path":"build.sbt","pattern":"val scala3 = if (onlyScala2) List() else List(\"3.0.2\")","replaceWith":"val scala3 = List(\"<SCALA_VERSION>\")"}]}
136Parsed config: Success(ProjectBuildConfig(ProjectsConfig(List(),Map()),Full,List()))
137Starting build...
138Projects: Set(odin-core, odin-zio, odin-extras, odin-json, odin-slf4j)
139Starting build for ProjectRef(file:/build/repo/,odin-extras) (odin-extras)... [0/5]
140OpenCB::Filter out '-deprecation', matches setting pattern '^-?-deprecation'
141OpenCB::Filter out '-feature', matches setting pattern '^-?-feature'
142Compile scalacOptions: -Ykind-projector, -encoding, utf-8, -language:existentials, -language:higherKinds, -language:implicitConversions, -language:postfixOps, -unchecked, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
143[info] compiling 27 Scala sources and 1 Java source to /build/repo/core/target/scala-3.8.0/classes ...
144[warn] Option -Ykind-projector is deprecated: Use -Xkind-projector instead.
145[warn] one warning found
146[info] done compiling
147[info] compiling 4 Scala sources to /build/repo/extras/target/scala-3.8.0/classes ...
148[warn] Option -Ykind-projector is deprecated: Use -Xkind-projector instead.
149[warn] one warning found
150[info] done compiling
151[info] compiling 22 Scala sources to /build/repo/core/target/scala-3.8.0/test-classes ...
152[warn] Option -Ykind-projector is deprecated: Use -Xkind-projector instead.
153[warn] one warning found
154[info] done compiling
155[info] compiling 2 Scala sources to /build/repo/extras/target/scala-3.8.0/test-classes ...
156[warn] Option -Ykind-projector is deprecated: Use -Xkind-projector instead.
157[warn] one warning found
158[info] done compiling
159[info] RenderDerivationSpec:
160[info] - should hide fields with @hidden annotation
161[info] - should mask fields with @secret annotation
162[info] - should hash fields with @hash annotation
163[info] - should show limited number of elements with @length annotation
164[info] - should ignore @length annotation when annotated type is not a subtype of Iterable
165[info] - should derive a type class respecting annotations
166[info] ConditionalLoggerSpec:
167[info] - should use log level of the inner logger in case of success
168[info] - should use log level of the conditional logger in case of error
169Starting build for ProjectRef(file:/build/repo/,odin-core) (odin-core)... [1/5]
170Compile scalacOptions: -Ykind-projector, -encoding, utf-8, -language:existentials, -language:higherKinds, -language:implicitConversions, -language:postfixOps, -unchecked, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
171[info] DefaultLoggerSpec:
172[info] - should correctly construct LoggerMessage
173[info] - should write multiple messages
174[info] - should filter by minimal level
175[info] - should decrease min log level on update
176[info] - should increase min log level on update
177[info] ConsoleLoggerSpec:
178[info] - should route all messages with level <= INFO to stdout
179[info] - should route all messages with level >= WARN to stderr
180[info] FilterLoggerSpec:
181[info] - should FilterLogger.logger.checks minLevel
182[info] - should FilterLogger.logger.log(list) <-> list.traverse(log)
183[info] - should logger.filter(p).log(msg) <-> F.whenA(p)(log(msg))
184[info] AsyncLoggerSpec:
185[info] - should push logs down the chain
186[info] - should push logs to the queue
187[info] - should ignore errors in underlying logger
188[info] SecretLoggerSpec:
189[info] - should SecretLogger.logger.checks minLevel
190[info] - should SecretLogger.logger.log(list) <-> list.traverse(log)
191[info] - should modify context by hashing secret keys of a message
192[info] - should modify context by hashing secret keys of messages
193[info] ConstContextLoggerSpec:
194[info] - should ContextualLogger.logger.checks minLevel
195[info] - should ContextualLogger.logger.log(list) <-> list.traverse(log)
196[info] - should add constant context to the record
197[info] - should add constant context to the records
198[info] ContramapLoggerSpec:
199[info] - should ContramapLogger.logger.checks minLevel
200[info] - should ContramapLogger.logger.log(list) <-> list.traverse(log)
201[info] - should contramap(identity).log(msg) <-> log(msg)
202[info] - should contramap(f).log(msg) <-> log(f(msg))
203[info] LoggerNatTransformSpec:
204[info] - should transform each method
205[info] FormatterSpec:
206[info] Formatter.formatThrowable with ThrowableFormat
207[info] - should support Indent
208[info] - should support Depth
209[info] - should support Filter
210[info] Formatter.formatPosition with PositionFormat
211[info] - should support PositionFormat
212[info] - should not abbreviate empty package
213[info] - should print context by default
214[info] - should disable context print if `printCtx=false`
215[info] ConfigSpec:
216[info] - should route based on the package
217[info] - should route based on the class
218[info] - should route based on the level
219[info] - should fallback to provided logger
220[info] - should not fallback to provided logger when message level does not match mapped logger level
221[info] - should check underlying min level
222[info] - should check fallback min level
223[info] WriterTLoggerSpec:
224[info] - should WriterTLogger.logger.checks minLevel
225[info] - should WriterTLogger.logger.log(list) <-> list.traverse(log)
226[info] - should write log into list
227[info] - should write all the logs into list
228[info] ContextualLoggerSpec:
229[info] - should ContContextLogger.logger.checks minLevel
230[info] - should ContContextLogger.logger.log(list) <-> list.traverse(log)
231[info] - should pick up context from F[_]
232[info] - should embed context in all messages
233[info] FileNamePatternSyntaxSpec:
234[info] year
235[info] - should extract current year
236[info] month
237[info] - should extract current month
238[info] day
239[info] - should extract current day
240[info] hour
241[info] - should extract current hour
242[info] minute
243[info] - should extract current minute
244[info] second
245[info] - should extract current second
246[info] file
247[info] - should process a single argument
248[info] file
249[info] - should process an argument in the beginning
250[info] file
251[info] - should process an argument in the end
252[info] file
253[info] - should process argument in the middle
254[info] file
255[info] - should process multiple arguments
256[info] file
257[info] - should process a string variable
258[info] RenderSpec:
259[info] - should derive Render instance from cats.Show
260[info] - should use .toString
261[info] - should interpolate a string using Render for every argument
262[info] - should render byte
263[info] - should render short
264[info] - should render int
265[info] - should render long
266[info] - should render double
267[info] - should render float
268[info] - should render boolean
269[info] - should render UUID
270[info] - should render Option
271[info] - should render Seq
272[info] - should render List
273[info] - should render Vector
274[info] - should render NonEmptyList
275[info] - should render Iterable
276[info] LoggerMonoidSpec:
277[info] - should Logger.monoid.associative
278[info] - should Logger.monoid.collect0
279[info] - should Logger.monoid.combine all
280[info] - should Logger.monoid.combineAllOption
281[info] - should Logger.monoid.intercalateCombineAllOption
282[info] - should Logger.monoid.intercalateIntercalates
283[info] - should Logger.monoid.intercalateRepeat1
284[info] - should Logger.monoid.intercalateRepeat2
285[info] - should Logger.monoid.is id
286[info] - should Logger.monoid.left identity
287[info] - should Logger.monoid.repeat0
288[info] - should Logger.monoid.repeat1
289[info] - should Logger.monoid.repeat2
290[info] - should Logger.monoid.reverseCombineAllOption
291[info] - should Logger.monoid.reverseRepeat1
292[info] - should Logger.monoid.reverseRepeat2
293[info] - should Logger.monoid.reverseReverses
294[info] - should Logger.monoid.right identity
295[info] - should (logger1 |+| logger2).log <-> (logger1.log |+| logger2.log)
296[info] - should (logger1 |+| logger2).log(list) <-> (logger1.log |+| logger2.log(list))
297[info] - should set minimal level for underlying loggers
298[info] - should respect underlying log level of each logger
299[info] FileLoggerSpec:
300[info] - should write formatted message into file
301[info] - should write formatted messages into file
302[info] - should write in async mode
303[info] RollingFileLoggerSpec:
304[info] - should write formatted message into file
305[info] - should write formatted messages into file
306[info] - should write in async mode
307[info] - should log file name should match the pattern
308[info] - should write to the next file once interval is over !!! IGNORED !!!
309[info] - should write to the next file once log file size is exceeded
310Starting build for ProjectRef(file:/build/repo/,odin-slf4j) (odin-slf4j)... [2/5]
311Compile scalacOptions: -Ykind-projector, -encoding, utf-8, -language:existentials, -language:higherKinds, -language:implicitConversions, -language:postfixOps, -unchecked, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
312[info] compiling 5 Scala sources to /build/repo/slf4j/target/scala-3.8.0/classes ...
313[warn] Option -Ykind-projector is deprecated: Use -Xkind-projector instead.
314[warn] one warning found
315[info] done compiling
316[info] compiling 3 Scala sources and 1 Java source to /build/repo/slf4j/target/scala-3.8.0/test-classes ...
317[warn] Option -Ykind-projector is deprecated: Use -Xkind-projector instead.
318[warn] one warning found
319[info] done compiling
320[info] Slf4jSpec:
321[info] - should log with correct level
322[info] - should log exceptions
323[info] - should resolve minimal level
324[info] - should format logs
325[info] - should format logs with two arguments
326[info] - should format logs with multiple arguments
327[info] - should not log messages with level lower than set
328[info] - should support Slf4J loggers
329[info] - should respect minLevel in the Slf4J logger
330Starting build for ProjectRef(file:/build/repo/,odin-zio) (odin-zio)... [3/5]
331Compile scalacOptions: -Ykind-projector, -encoding, utf-8, -language:existentials, -language:higherKinds, -language:implicitConversions, -language:postfixOps, -unchecked, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
332[info] compiling 2 Scala sources to /build/repo/zio/target/scala-3.8.0/classes ...
333[warn] Option -Ykind-projector is deprecated: Use -Xkind-projector instead.
334[warn] one warning found
335[info] done compiling
336Starting build for ProjectRef(file:/build/repo/,odin-json) (odin-json)... [4/5]
337Compile scalacOptions: -Ykind-projector, -encoding, utf-8, -language:existentials, -language:higherKinds, -language:implicitConversions, -language:postfixOps, -unchecked, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
338[info] compiling 1 Scala source to /build/repo/json/target/scala-3.8.0/classes ...
339[warn] Option -Ykind-projector is deprecated: Use -Xkind-projector instead.
340[warn] one warning found
341[info] done compiling
342
343************************
344Build summary:
345[{
346 "module": "odin-extras",
347 "compile": {"status": "ok", "tookMs": 13343, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
348 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
349 "test-compile": {"status": "ok", "tookMs": 14979, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
350 "test": {"status": "ok", "tookMs": 1368, "passed": 8, "failed": 0, "ignored": 0, "skipped": 0, "total": 8, "byFramework": [{"framework": "unknown", "stats": {"passed": 8, "failed": 0, "ignored": 0, "skipped": 0, "total": 8}}]},
351 "publish": {"status": "skipped", "tookMs": 0},
352 "metadata": {
353 "crossScalaVersions": ["2.13.6", "2.12.13"]
354}
355},{
356 "module": "odin-core",
357 "compile": {"status": "ok", "tookMs": 72, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
358 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
359 "test-compile": {"status": "ok", "tookMs": 128, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
360 "test": {"status": "ok", "tookMs": 42089, "passed": 107, "failed": 0, "ignored": 1, "skipped": 0, "total": 108, "byFramework": [{"framework": "unknown", "stats": {"passed": 107, "failed": 0, "ignored": 1, "skipped": 0, "total": 108}}]},
361 "publish": {"status": "skipped", "tookMs": 0},
362 "metadata": {
363 "crossScalaVersions": ["2.13.6", "2.12.13"]
364}
365},{
366 "module": "odin-slf4j",
367 "compile": {"status": "ok", "tookMs": 1429, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
368 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
369 "test-compile": {"status": "ok", "tookMs": 2439, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
370 "test": {"status": "ok", "tookMs": 1194, "passed": 9, "failed": 0, "ignored": 0, "skipped": 0, "total": 9, "byFramework": [{"framework": "unknown", "stats": {"passed": 9, "failed": 0, "ignored": 0, "skipped": 0, "total": 9}}]},
371 "publish": {"status": "skipped", "tookMs": 0},
372 "metadata": {
373 "crossScalaVersions": ["2.13.6", "2.12.13"]
374}
375},{
376 "module": "odin-zio",
377 "compile": {"status": "ok", "tookMs": 771, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
378 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
379 "test-compile": {"status": "ok", "tookMs": 169, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
380 "test": {"status": "ok", "tookMs": 168, "passed": 0, "failed": 0, "ignored": 0, "skipped": 0, "total": 0, "byFramework": []},
381 "publish": {"status": "skipped", "tookMs": 0},
382 "metadata": {
383 "crossScalaVersions": ["2.13.6", "2.12.13"]
384}
385},{
386 "module": "odin-json",
387 "compile": {"status": "ok", "tookMs": 496, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
388 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
389 "test-compile": {"status": "ok", "tookMs": 154, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
390 "test": {"status": "ok", "tookMs": 131, "passed": 0, "failed": 0, "ignored": 0, "skipped": 0, "total": 0, "byFramework": []},
391 "publish": {"status": "skipped", "tookMs": 0},
392 "metadata": {
393 "crossScalaVersions": ["2.13.6", "2.12.13"]
394}
395}]
396************************
397[success] Total time: 84 s (0:01:24.0), completed Jan 13, 2026, 3:59:11 PM
398[0JChecking patch project/plugins.sbt...
399Checking patch project/build.properties...
400Checking patch build.sbt...
401Applied patch project/plugins.sbt cleanly.
402Applied patch project/build.properties cleanly.
403Applied patch build.sbt cleanly.