Build Logs
erikvanoosten/metrics-scala • 3.8.0-RC2:2025-11-28
Errors
8
Warnings
13
Total Lines
386
1##################################
2Clonning https://github.com/erikvanoosten/metrics-scala.git into /build/repo using revision v4.3.5
3##################################
4Note: switching to '6e1ab134f153b5b8c3c879459b29a6259cb4b95d'.
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-RC2
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----
31Starting build for 3.8.0-RC2
32Execute tests: true
33sbt project found:
34Sbt version 1.11.2 is not supported, minimal supported version is 1.11.5
35Enforcing usage of sbt in version 1.11.5
36No prepare script found for project erikvanoosten/metrics-scala
37##################################
38Scala version: 3.8.0-RC2
39Targets: nl.grons%metrics4-akka_a26 nl.grons%metrics4-pekko nl.grons%metrics4-scala nl.grons%metrics4-scala-hdr
40Project projectConfig: {"projects":{"exclude":[],"overrides":{}},"java":{"version":"21"},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"full","migrationVersions":[],"sourcePatches":[]}
41##################################
42Using extra scalacOptions: ,REQUIRE:-source:3.8
43Filtering out scalacOptions: ,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
44[sbt_options] declare -a sbt_options=()
45[process_args] java_version = '21'
46[copyRt] java9_rt = '/root/.sbt/1.0/java9-rt-ext-eclipse_adoptium_21/rt.jar'
47# Executing command line:
48java
49-Dfile.encoding=UTF-8
50-Dcommunitybuild.scala=3.8.0-RC2
51-Dcommunitybuild.project.dependencies.add=
52-Xmx7G
53-Xms4G
54-Xss8M
55-Dsbt.script=/root/.sdkman/candidates/sbt/current/bin/sbt
56-Dscala.ext.dirs=/root/.sbt/1.0/java9-rt-ext-eclipse_adoptium_21
57-jar
58/root/.sdkman/candidates/sbt/1.11.5/bin/sbt-launch.jar
59"setCrossScalaVersions 3.8.0-RC2"
60"++3.8.0-RC2 -v"
61"mapScalacOptions ",REQUIRE:-source:3.8,-Wconf:msg=can be rewritten automatically under:s" ",-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e""
62"set every credentials := Nil"
63"excludeLibraryDependency com.github.ghik:zerowaste_{scalaVersion} com.olegpy:better-monadic-for_3 org.polyvariant:better-tostring_{scalaVersion} org.wartremover:wartremover_{scalaVersion}"
64"removeScalacOptionsStartingWith -P:wartremover"
65
66moduleMappings
67"runBuild 3.8.0-RC2 """{"projects":{"exclude":[],"overrides":{}},"java":{"version":"21"},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"full","migrationVersions":[],"sourcePatches":[]}""" nl.grons%metrics4-akka_a26 nl.grons%metrics4-pekko nl.grons%metrics4-scala nl.grons%metrics4-scala-hdr"
68
69[info] welcome to sbt 1.11.5 (Eclipse Adoptium Java 21)
70[info] loading settings for project repo-build from akka.sbt, plugins.sbt...
71[info] loading project definition from /build/repo/project
72[info] compiling 2 Scala sources to /build/repo/project/target/scala-2.12/sbt-1.0/classes ...
73[info] Non-compiled module 'compiler-bridge_2.12' for Scala 2.12.20. Compiling...
74[info] Compilation completed in 7.626s.
75[info] done compiling
76[info] loading settings for project root from build.sbt...
77[info] set current project to metrics4-scala-root (in build file:/build/repo/)
78Execute setCrossScalaVersions: 3.8.0-RC2
79OpenCB::Changing crossVersion 3.3.6 -> 3.8.0-RC2 in metricsAkka26/crossScalaVersions
80OpenCB::Changing crossVersion 3.3.6 -> 3.8.0-RC2 in metricsPekko/crossScalaVersions
81OpenCB::Limitting incorrect crossVersions List() -> List(2.12.20) in root/crossScalaVersions
82OpenCB::Changing crossVersion 3.3.6 -> 3.8.0-RC2 in metricsScala/crossScalaVersions
83OpenCB::Changing crossVersion 3.3.6 -> 3.8.0-RC2 in metricsScalaHdr/crossScalaVersions
84[info] set current project to metrics4-scala-root (in build file:/build/repo/)
85[info] Setting Scala version to 3.8.0-RC2 on 4 projects.
86[info] Switching Scala version on:
87[info] metricsAkka26 (3.8.0-RC2, 2.13.16, 2.12.20)
88[info] metricsScalaHdr (3.8.0-RC2, 2.13.16, 2.12.20, 2.11.12)
89[info] metricsPekko (3.8.0-RC2, 2.13.16, 2.12.20)
90[info] metricsScala (3.8.0-RC2, 2.13.16, 2.12.20, 2.11.12)
91[info] Excluding projects:
92[info] metricsAkka25 (2.13.16, 2.12.20)
93[info] * root (2.12.20)
94[info] Reapplying settings...
95[info] set current project to metrics4-scala-root (in build file:/build/repo/)
96Execute mapScalacOptions: ,REQUIRE:-source:3.8,-Wconf:msg=can be rewritten automatically under:s ,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
97[info] Reapplying settings...
98[info] set current project to metrics4-scala-root (in build file:/build/repo/)
99[info] Defining Global / credentials, credentials and 4 others.
100[info] The new values will be used by Global / pgpSelectPassphrase, Global / pgpSigningKey and 29 others.
101[info] Run `last` for details.
102[info] Reapplying settings...
103[info] set current project to metrics4-scala-root (in build file:/build/repo/)
104Execute excludeLibraryDependency: com.github.ghik:zerowaste_{scalaVersion} com.olegpy:better-monadic-for_3 org.polyvariant:better-tostring_{scalaVersion} org.wartremover:wartremover_{scalaVersion}
105[info] Reapplying settings...
106OpenCB::Failed to reapply settings in excludeLibraryDependency: Reference to undefined setting:
107
108 Global / allExcludeDependencies from Global / allExcludeDependencies (CommunityBuildPlugin.scala:331)
109 Did you mean allExcludeDependencies ?
110 , retry without global scopes
111[info] Reapplying settings...
112[info] set current project to metrics4-scala-root (in build file:/build/repo/)
113Execute removeScalacOptionsStartingWith: -P:wartremover
114[info] Reapplying settings...
115[info] set current project to metrics4-scala-root (in build file:/build/repo/)
116[success] Total time: 0 s, completed Nov 28, 2025, 1:54:53 PM
117Build config: {"projects":{"exclude":[],"overrides":{}},"java":{"version":"21"},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"full","migrationVersions":[],"sourcePatches":[]}
118Parsed config: Success(ProjectBuildConfig(ProjectsConfig(List(),Map()),Full,List()))
119Starting build...
120Projects: Set(metricsAkka26, metricsPekko, metricsScala, metricsScalaHdr)
121Starting build for ProjectRef(file:/build/repo/,metricsAkka26) (metrics4-akka_a26)... [0/4]
122OpenCB::Exclude Scala3 specific scalacOption `REQUIRE:-source:3.8` in Scala 2.12.20 module Global
123OpenCB::Filter out '-deprecation', matches setting pattern '^-?-deprecation'
124Compile scalacOptions: --java-output-version:17, -unchecked, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
125[info] compiling 17 Scala sources to /build/repo/metrics-scala/target/scala-3.8.0-RC2/classes ...
126[info] done compiling
127[info] compiling 1 Scala source to /build/repo/metrics-akka-26/target/scala-3.8.0-RC2/classes ...
128[info] done compiling
129[info] compiling 2 Scala sources to /build/repo/metrics-akka-26/target/scala-3.8.0-RC2/test-classes ...
130[warn] there were 2 deprecation warnings; re-run with -deprecation for details
131[warn] one warning found
132[info] done compiling
133[info] ActorInstrumentedLifeCycleSpec:
134[info] an actor with gauges needing lifecycle management
135[info] - correctly builds a gauge that reports the correct value
136[info] - rebuilds the gauge on actor restart
137[info] ActorMetricsSpec:
138[info] A counter actor
139[info] - invokes original receive and increments counter on new messages
140[info] - can override metric name
141[info] A timer actor
142[info] - invokes original receive and times message processing
143[info] - can override metric name
144[info] A exception meter actor
145[info] - invokes original receive and meters thrown exceptions
146[info] A composed actor
147[info] - counts and times processing of messages
148Starting build for ProjectRef(file:/build/repo/,metricsPekko) (metrics4-pekko)... [1/4]
149Compile scalacOptions: --java-output-version:17, -unchecked, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
150[info] compiling 1 Scala source to /build/repo/metrics-pekko/target/scala-3.8.0-RC2/classes ...
151[info] done compiling
152[info] compiling 2 Scala sources to /build/repo/metrics-pekko/target/scala-3.8.0-RC2/test-classes ...
153[warn] there were 2 deprecation warnings; re-run with -deprecation for details
154[warn] one warning found
155[info] done compiling
156[info] ActorInstrumentedLifeCycleSpec:
157[info] an actor with gauges needing lifecycle management
158[info] - correctly builds a gauge that reports the correct value
159[info] - rebuilds the gauge on actor restart
160[info] ActorMetricsSpec:
161[info] A counter actor
162[info] - invokes original receive and increments counter on new messages
163[info] - can override metric name
164[info] A timer actor
165[info] - invokes original receive and times message processing
166[info] - can override metric name
167[info] A exception meter actor
168[info] - invokes original receive and meters thrown exceptions
169[info] A composed actor
170[info] - counts and times processing of messages
171Starting build for ProjectRef(file:/build/repo/,metricsScala) (metrics4-scala)... [2/4]
172Compile scalacOptions: --java-output-version:17, -unchecked, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
173[info] compiling 15 Scala sources to /build/repo/metrics-scala/target/scala-3.8.0-RC2/test-classes ...
174[warn] there was 1 deprecation warning; re-run with -deprecation for details
175[warn] one warning found
176[info] done compiling
177[info] CounterSpec:
178[info] A counter
179Mockito is currently self-attaching to enable the inline-mock-maker. This will no longer work in future releases of the JDK. Please add Mockito as an agent to your build as described in Mockito's documentation: https://javadoc.io/doc/org.mockito/mockito-core/latest/org.mockito/org/mockito/Mockito.html#0.3
180WARNING: A Java agent has been loaded dynamically (/root/.cache/coursier/v1/https/repo.scala-lang.org/artifactory/maven-nightlies/net/bytebuddy/byte-buddy-agent/1.17.5/byte-buddy-agent-1.17.5.jar)
181WARNING: If a serviceability tool is in use, please run with -XX:+EnableDynamicAgentLoading to hide this warning
182WARNING: If a serviceability tool is not in use, please run with -Djdk.instrument.traceUsage for more information
183WARNING: Dynamic loading of agents will be disallowed by default in a future release
184OpenJDK 64-Bit Server VM warning: Sharing is only supported for boot loader classes because bootstrap classpath has been appended
185[info] - += should increment the underlying metric by an arbitrary amount
186[info] - -= should decrement the underlying metric by an arbitrary amount
187[info] - inc should increment the underlying metric by an arbitrary amount
188[info] - dec should decrement the underlying metric by an arbitrary amount
189[info] - getCount should consult the underlying counter for current count
190[info] count
191[info] - should consult the wrapper partial function for isDefined
192[info] - should increment counter upon execution of partial function
193[info] - should increment counter upon execution of undefined partial function
194[info] - countConcurrency should increment and decrement underlying counter upon execution of a function
195[info] StringUtilsSpec:
196[info] collapseDots
197[info] - strips leading dot
198[info] - strips trailing dot
199[info] - collapses dots at the beginning of the String
200[info] - collapses dots at the end of the String
201[info] - collapses dots in the middle of the String
202[info] - works on empty string
203[info] - works on dots only
204[info] - doesn't modify an already valid String
205[info] replace
206[info] - doesn't replace anything in empty Strings
207[info] - replaces repeated occurrences
208[info] - doesn't replace non-matching String
209[info] - can replace with a longer String
210[info] - will not allow replacing an empty string
211[info] InstrumentedBuilderSpec:
212[info] InstrumentedBuilder
213[info] - uses owner class as metric base name
214[info] - supports overriding the metric base name
215[info] MeterSpec:
216[info] A meter
217[info] - marks the underlying metric
218[info] - marks the underlying metric by an arbitrary amount
219[info] - increments meter on exception when exceptionMeter is used
220[info] - should increment time execution of partial function
221[info] ImplicitsSpec:
222[info] Implicits
223[info] - is not required in Scala 2.12 and later because of SAM support
224[info] - still works in Scala 2.12 and later
225[info] Implicits.functionToMetricFilter
226[info] - creates a MetricFilter that passes arguments to the function and returns function result unchanged
227[info] Implicits.functionToMetricSupplier
228[info] - creates a MetricSupplier that wraps the function unchanged
229[info] DefaultInstrumentedSpec:
230[info] DefaultInstrumented
231[info] - has the expected metricRegistry and health check registry
232[info] HealthCheckSpec:
233[info] healthCheck factory method
234[info] - registers the created checker
235[info] - build health checks that call the provided checker
236[info] - supports Boolean checker returning true
237[info] - supports Boolean checker returning false
238[info] - supports Boolean checker returning true implicitly
239[info] - supports Boolean checker returning false implicitly
240[info] - supports Try checker returning Success[Long]
241[info] - supports Try checker returning Success(Unit)
242[info] - supports Try checker returning Success(null)
243[info] - supports Try checker returning Failure
244[info] - supports Either checker returning Right[Long]
245[info] - supports Either checker returning Left[Boolean]
246[info] - supports Either checker returning Right[String]
247[info] - supports Either checker returning Left[String]
248[info] - supports Either checker returning Left[Throwable]
249[info] - supports Result checker returning Result unchanged
250[info] - supports checker throwing an exception
251[info] - supports override of metric base name
252[info] - supports Unit checker with side-effects (healthy)
253[info] - supports Unit checker with side-effects (unhealthy)
254[info] - supports Future checker returning a Success(Long)
255[info] - supports Future checker returning a Failure(exception)
256[info] - supports Future checker not returning in time
257[info] TimerSpec:
258[info] A timer
259[info] - times the passed closure
260[info] - updates the underlying metric
261[info] - should increment time execution of partial function
262[info] - should measure a future
263[info] - should measure a future closure which errors
264[info] - correctly infers the type
265[info] HistogramSpec:
266[info] A histogram
267[info] - updates the underlying histogram with an int
268[info] - updates the underlying histogram with a long
269[info] - retrieves a snapshot for statistics
270[info] MetricNameSpec:
271[info] MetricName object
272[info] - concatenates names with a period as separator
273[info] - skips nulls
274[info] - skips empty strings
275[info] - supports closures
276[info] - supports objects
277[info] - supports nested objects
278[info] - supports packages
279[info] - supports nested classes
280[info] - supports anonymous classes
281[info] MetricName
282[info] - appends names with a period as separator
283[info] - skips nulls
284[info] - skips empty strings
285[info] FreshRegistriesSpec:
286[info] FreshRegistries
287[info] - overrides the metric registry
288[info] - overrides the health check registry
289[info] FreshMetricRegistry
290[info] - overrides the metric registry
291[info] FreshHealthCheckRegistry
292[info] - overrides the health check registry
293[info] GaugeSpec:
294[info] A gauge
295[info] - invokes underlying function for sugar factory
296[info] - invokes getValue on underlying gauge
297[info] MetricBuilderSpec:
298[info] Metrics configuration dsl
299[info] - defines a timer
300[info] - defines a gauge
301[info] - defines a cached gauge
302[info] - defines a push gauge
303[info] - defines a push gauge with time out
304[info] - defines a counter
305[info] - defines a histogram
306[info] - defines a meter
307[info] - can re-fetch push gauge
308[info] - can re-fetch push gauge with timeout
309[info] CombinedBuilderSpec:
310[info] InstrumentedBuilder combined with CheckedBuilder
311[info] - uses owner class as metric base name
312[info] - supports overriding the metric base name
313Starting build for ProjectRef(file:/build/repo/,metricsScalaHdr) (metrics4-scala-hdr)... [3/4]
314Compile scalacOptions: --java-output-version:17, -unchecked, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
315[info] compiling 1 Scala source to /build/repo/metrics-scala-hdr/target/scala-3.8.0-RC2/classes ...
316[info] done compiling
317[info] compiling 1 Scala source to /build/repo/metrics-scala-hdr/target/scala-3.8.0-RC2/test-classes ...
318[warn] there was 1 deprecation warning; re-run with -deprecation for details
319[warn] one warning found
320[info] done compiling
321[info] HdrMetricBuilderSpec:
322[info] Metrics configuration dsl with HdrMetricBuilder
323[info] - defines a timer
324[info] - defines a timer with scope
325[info] - defines a histogram
326[info] - allows a timer to be 'created' twice
327[info] - allows a histogram to be 'created' twice
328[info] - allows identical histograms to be 'created' concurrently
329[info] - gives IllegalArgumentException when second creation is of different type
330[info] - defines a timer with non-resetting reservoir
331[info] - defines a histogram with non-resetting reservoir
332[info] Metrics configuration dsl with HdrMetricBuilder with reset
333[info] - defines a timer with resetting reservoir
334[info] - defines a histogram with resetting reservoir
335
336************************
337Build summary:
338[{
339 "module": "metrics4-akka_a26",
340 "compile": {"status": "ok", "tookMs": 8652, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
341 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
342 "test-compile": {"status": "ok", "tookMs": 2670, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
343 "test": {"status": "ok", "tookMs": 1510, "passed": 8, "failed": 0, "ignored": 0, "skipped": 0, "total": 8, "byFramework": [{"framework": "unknown", "stats": {"passed": 8, "failed": 0, "ignored": 0, "skipped": 0, "total": 8}}]},
344 "publish": {"status": "skipped", "tookMs": 0},
345 "metadata": {
346 "crossScalaVersions": ["3.3.6", "2.13.16", "2.12.20"]
347}
348},{
349 "module": "metrics4-pekko",
350 "compile": {"status": "ok", "tookMs": 523, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
351 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
352 "test-compile": {"status": "ok", "tookMs": 2100, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
353 "test": {"status": "ok", "tookMs": 1341, "passed": 8, "failed": 0, "ignored": 0, "skipped": 0, "total": 8, "byFramework": [{"framework": "unknown", "stats": {"passed": 8, "failed": 0, "ignored": 0, "skipped": 0, "total": 8}}]},
354 "publish": {"status": "skipped", "tookMs": 0},
355 "metadata": {
356 "crossScalaVersions": ["3.3.6", "2.13.16", "2.12.20"]
357}
358},{
359 "module": "metrics4-scala",
360 "compile": {"status": "ok", "tookMs": 46, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
361 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
362 "test-compile": {"status": "ok", "tookMs": 3709, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
363 "test": {"status": "ok", "tookMs": 3399, "passed": 95, "failed": 0, "ignored": 0, "skipped": 0, "total": 95, "byFramework": [{"framework": "unknown", "stats": {"passed": 95, "failed": 0, "ignored": 0, "skipped": 0, "total": 95}}]},
364 "publish": {"status": "skipped", "tookMs": 0},
365 "metadata": {
366 "crossScalaVersions": ["3.3.6", "2.13.16", "2.12.20", "2.11.12"]
367}
368},{
369 "module": "metrics4-scala-hdr",
370 "compile": {"status": "ok", "tookMs": 493, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
371 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
372 "test-compile": {"status": "ok", "tookMs": 1107, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
373 "test": {"status": "ok", "tookMs": 1366, "passed": 11, "failed": 0, "ignored": 0, "skipped": 0, "total": 11, "byFramework": [{"framework": "unknown", "stats": {"passed": 11, "failed": 0, "ignored": 0, "skipped": 0, "total": 11}}]},
374 "publish": {"status": "skipped", "tookMs": 0},
375 "metadata": {
376 "crossScalaVersions": ["3.3.6", "2.13.16", "2.12.20", "2.11.12"]
377}
378}]
379************************
380[success] Total time: 50 s, completed Nov 28, 2025, 1:55:43 PM
381[0JChecking patch project/plugins.sbt...
382Checking patch project/build.properties...
383Checking patch build.sbt...
384Applied patch project/plugins.sbt cleanly.
385Applied patch project/build.properties cleanly.
386Applied patch build.sbt cleanly.