Build Logs

softwaremill/retry • 3.8.0-RC6:2026-01-08

Errors

12

Warnings

76

Total Lines

339

1##################################
2Clonning https://github.com/softwaremill/retry.git into /build/repo using revision v0.3.6
3##################################
4Note: switching to '640fab1b426c5aab351fac4caf7b57083dcde29b'.
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-RC6
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-RC6
32Execute tests: true
33sbt project found:
34Sbt version 1.7.1 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 softwaremill/retry
37##################################
38Scala version: 3.8.0-RC6
39Targets: com.softwaremill.retry%retry
40Project projectConfig: {"projects":{"exclude":[],"overrides":{}},"java":{"version":"17"},"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 = '17'
46[copyRt] java9_rt = '/root/.sbt/1.0/java9-rt-ext-eclipse_adoptium_17_0_8/rt.jar'
47# Executing command line:
48java
49-Dfile.encoding=UTF-8
50-Dcommunitybuild.scala=3.8.0-RC6
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_17_0_8
57-jar
58/root/.sdkman/candidates/sbt/1.11.5/bin/sbt-launch.jar
59"setCrossScalaVersions 3.8.0-RC6"
60"++3.8.0-RC6 -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-RC6 """{"projects":{"exclude":[],"overrides":{}},"java":{"version":"17"},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"full","migrationVersions":[],"sourcePatches":[]}""" com.softwaremill.retry%retry"
68
69[info] welcome to sbt 1.11.5 (Eclipse Adoptium Java 17.0.8)
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 8.926s.
75[info] done compiling
76[info] loading settings for project rootProject from build.sbt...
77[info] set current project to retry (in build file:/build/repo/)
78Execute setCrossScalaVersions: 3.8.0-RC6
79OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(2.13.8) in retryJS/crossScalaVersions
80OpenCB::Changing crossVersion 3.2.0 -> 3.8.0-RC6 in retryJS3/crossScalaVersions
81OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.0-RC6) in retryJS3/crossScalaVersions
82OpenCB::Changing crossVersion 3.2.0 -> 3.8.0-RC6 in retry3/crossScalaVersions
83OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.0-RC6) in retry3/crossScalaVersions
84OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(2.13.8) in rootProject/crossScalaVersions
85OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(2.11.12) in retry2_11/crossScalaVersions
86OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(2.13.8) in retry/crossScalaVersions
87[info] set current project to retry (in build file:/build/repo/)
88[info] Setting Scala version to 3.8.0-RC6 on 2 projects.
89[info] Switching Scala version on:
90[info] retry3 (3.8.0-RC6)
91[info] retryJS3 (3.8.0-RC6)
92[info] Excluding projects:
93[info] retryJS (2.13.8)
94[info] * rootProject (2.13.8)
95[info] retryJS2_12 (2.12.20, 2.12.12)
96[info] retry2_12 (2.12.20, 2.12.12)
97[info] retry (2.13.8)
98[info] retry2_11 (2.11.12)
99[info] Reapplying settings...
100[info] set current project to retry (in build file:/build/repo/)
101Execute mapScalacOptions: ,REQUIRE:-source:3.8,-Wconf:msg=can be rewritten automatically under:s ,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
102[info] Reapplying settings...
103[info] set current project to retry (in build file:/build/repo/)
104[info] Defining Global / credentials, credentials and 6 others.
105[info] The new values will be used by Global / pgpSelectPassphrase, Global / pgpSigningKey and 39 others.
106[info] Run `last` for details.
107[info] Reapplying settings...
108[info] set current project to retry (in build file:/build/repo/)
109Execute excludeLibraryDependency: com.github.ghik:zerowaste_{scalaVersion} com.olegpy:better-monadic-for_3 org.polyvariant:better-tostring_{scalaVersion} org.wartremover:wartremover_{scalaVersion}
110[info] Reapplying settings...
111OpenCB::Failed to reapply settings in excludeLibraryDependency: Reference to undefined setting:
112
113 Global / allExcludeDependencies from Global / allExcludeDependencies (CommunityBuildPlugin.scala:331)
114 Did you mean retry3 / allExcludeDependencies ?
115 , retry without global scopes
116[info] Reapplying settings...
117[info] set current project to retry (in build file:/build/repo/)
118Execute removeScalacOptionsStartingWith: -P:wartremover
119[info] Reapplying settings...
120[info] set current project to retry (in build file:/build/repo/)
121[success] Total time: 0 s, completed Jan 8, 2026, 1:28:17 AM
122Build config: {"projects":{"exclude":[],"overrides":{}},"java":{"version":"17"},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"full","migrationVersions":[],"sourcePatches":[]}
123Parsed config: Success(ProjectBuildConfig(ProjectsConfig(List(),Map()),Full,List()))
124None of projects in group Vector(rootProject, retry) uses current Scala binary version, using random: rootProject
125Starting build...
126Projects: Set(retry3)
127Starting build for ProjectRef(file:/build/repo/,retry3) (retry)... [0/1]
128OpenCB::Exclude Scala3 specific scalacOption `REQUIRE:-source:3.8` in Scala 2.12.20 module Global
129OpenCB::Filter out '-deprecation', matches setting pattern '^-?-deprecation'
130OpenCB::Filter out '-feature', matches setting pattern '^-?-feature'
131Compile scalacOptions: -encoding, utf8, -explain-types, -explain, -language:experimental.macros, -language:higherKinds, -language:implicitConversions, -unchecked, -Ykind-projector, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
132[info] compiling 4 Scala sources to /build/repo/retry/target/jvm-3/classes ...
133[warn] Option -Ykind-projector is deprecated: Use -Xkind-projector instead.
134[warn] one warning found
135[info] done compiling
136[info] compiling 4 Scala sources to /build/repo/retry/target/jvm-3/test-classes ...
137[warn] Option -Ykind-projector is deprecated: Use -Xkind-projector instead.
138[warn] -- [E092] Pattern Match Unchecked Warning: /build/repo/retry/src/test/scala/PolicySpec.scala:327:13
139[warn] 327 | case RetryAfter(duration) => Pause(delay = duration)
140[warn] | ^
141[warn] |the type test for RetryAfter cannot be checked at runtime because it's a local class
142[warn] |---------------------------------------------------------------------------
143[warn] | Explanation (enabled by `-explain`)
144[warn] |- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
145[warn] | Type arguments and type refinements are erased during compile time, thus it's
146[warn] | impossible to check them at run-time.
147[warn] |
148[warn] | You can either replace the type arguments by _ or use `@unchecked`.
149[warn] ---------------------------------------------------------------------------
150[warn] -- [E092] Pattern Match Unchecked Warning: /build/repo/retry/src/test/scala/PolicySpec.scala:346:13
151[warn] 346 | case _: MyException => Directly.forever
152[warn] | ^
153[warn] |the type test for MyException cannot be checked at runtime because it's a local class
154[warn] |---------------------------------------------------------------------------
155[warn] | Explanation (enabled by `-explain`)
156[warn] |- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
157[warn] | Type arguments and type refinements are erased during compile time, thus it's
158[warn] | impossible to check them at run-time.
159[warn] |
160[warn] | You can either replace the type arguments by _ or use `@unchecked`.
161[warn] ---------------------------------------------------------------------------
162[warn] -- [E092] Pattern Match Unchecked Warning: /build/repo/retry/src/test/scala/PolicySpec.scala:368:13
163[warn] 368 | case _: MyException => Pause.forever(1.millis)
164[warn] | ^
165[warn] |the type test for MyException cannot be checked at runtime because it's a local class
166[warn] |---------------------------------------------------------------------------
167[warn] | Explanation (enabled by `-explain`)
168[warn] |- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
169[warn] | Type arguments and type refinements are erased during compile time, thus it's
170[warn] | impossible to check them at run-time.
171[warn] |
172[warn] | You can either replace the type arguments by _ or use `@unchecked`.
173[warn] ---------------------------------------------------------------------------
174[warn] -- [E092] Pattern Match Unchecked Warning: /build/repo/retry/src/test/scala/PolicySpec.scala:391:13
175[warn] 391 | case _: MyException => Backoff.forever(1.millis)
176[warn] | ^
177[warn] |the type test for MyException cannot be checked at runtime because it's a local class
178[warn] |---------------------------------------------------------------------------
179[warn] | Explanation (enabled by `-explain`)
180[warn] |- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
181[warn] | Type arguments and type refinements are erased during compile time, thus it's
182[warn] | impossible to check them at run-time.
183[warn] |
184[warn] | You can either replace the type arguments by _ or use `@unchecked`.
185[warn] ---------------------------------------------------------------------------
186[warn] -- [E092] Pattern Match Unchecked Warning: /build/repo/retry/src/test/scala/PolicySpec.scala:413:13
187[warn] 413 | case _: MyException => JitterBackoff.forever(1.millis)
188[warn] | ^
189[warn] |the type test for MyException cannot be checked at runtime because it's a local class
190[warn] |---------------------------------------------------------------------------
191[warn] | Explanation (enabled by `-explain`)
192[warn] |- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
193[warn] | Type arguments and type refinements are erased during compile time, thus it's
194[warn] | impossible to check them at run-time.
195[warn] |
196[warn] | You can either replace the type arguments by _ or use `@unchecked`.
197[warn] ---------------------------------------------------------------------------
198[warn] -- [E092] Pattern Match Unchecked Warning: /build/repo/retry/src/test/scala/PolicySpec.scala:589:13
199[warn] 589 | case _: MyException => Directly.forever
200[warn] | ^
201[warn] |the type test for MyException cannot be checked at runtime because it's a local class
202[warn] |---------------------------------------------------------------------------
203[warn] | Explanation (enabled by `-explain`)
204[warn] |- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
205[warn] | Type arguments and type refinements are erased during compile time, thus it's
206[warn] | impossible to check them at run-time.
207[warn] |
208[warn] | You can either replace the type arguments by _ or use `@unchecked`.
209[warn] ---------------------------------------------------------------------------
210[warn] -- [E092] Pattern Match Unchecked Warning: /build/repo/retry/src/test/scala/PolicySpec.scala:609:13
211[warn] 609 | case _: MyException => Directly.forever
212[warn] | ^
213[warn] |the type test for MyException cannot be checked at runtime because it's a local class
214[warn] |---------------------------------------------------------------------------
215[warn] | Explanation (enabled by `-explain`)
216[warn] |- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
217[warn] | Type arguments and type refinements are erased during compile time, thus it's
218[warn] | impossible to check them at run-time.
219[warn] |
220[warn] | You can either replace the type arguments by _ or use `@unchecked`.
221[warn] ---------------------------------------------------------------------------
222[warn] 8 warnings found
223[info] done compiling
224[info] SuccessSpec:
225[info] retry.Success.either
226[info] - should be successful on a Right
227[info] - should be a failure on a Left
228[info] retry.Success.option
229[info] - should be successful on Some(_)
230[info] - should be a failure on None
231[info] retry.Success.tried
232[info] - should be successful on Success(_)
233[info] - should be failure on Failure(_)
234[info] retry.Success combinators
235[info] - should support and
236[info] - should support or
237[info] JitterSpec:
238[info] retry.Defaults.random
239[info] - should return sane random values
240[info] - should handle swapped bounds
241[info] - should not cache random values
242[info] retry.Jitter.none
243[info] - should perform backoff correctly
244[info] retry.Jitter.decorrelated
245[info] - should perform decorrelated jitter correctly
246[info] retry.Jitter.full
247[info] - should perform full jitter correctly
248[info] retry.Jitter.equal
249[info] - should perform equal jitter correctly
250[info] retry.Defaults.jitter
251[info] - should work
252[info] PolicySpecJVM:
253[info] retry.Directly
254[info] - should retry a future for a specified number of times
255[info] - should fail when expected
256[info] - should deal with future failures
257[info] - should accept a future in reduced syntax format
258[info] - should retry futures passed by-name instead of caching results
259[info] - should repeat on not expected value until success
260[info] retry.Pause
261[info] - should pause in between retries
262[info] - should repeat on unexpected value with pause until success
263[info] retry.Backoff
264[info] - should pause with multiplier between retries
265[info] - should repeat on unexpected value with backoff until success
266[info] retry.JitterBackoff.none
267[info] - should retry a future for a specified number of times
268[info] - should fail when expected
269[info] - should deal with future failures
270[info] - should retry futures passed by-name instead of caching results
271[info] - should pause with multiplier and jitter between retries
272[info] - should also work when invoked as forever
273[info] - should repeat on unexpected value with jitter backoff until success
274[info] retry.JitterBackoff.full
275[info] - should retry a future for a specified number of times
276[info] - should fail when expected
277[info] - should deal with future failures
278[info] - should retry futures passed by-name instead of caching results
279[info] - should pause with multiplier and jitter between retries
280[info] - should also work when invoked as forever
281[info] - should repeat on unexpected value with jitter backoff until success
282[info] retry.JitterBackoff.equal
283[info] - should retry a future for a specified number of times
284[info] - should fail when expected
285[info] - should deal with future failures
286[info] - should retry futures passed by-name instead of caching results
287[info] - should pause with multiplier and jitter between retries
288[info] - should also work when invoked as forever
289[info] - should repeat on unexpected value with jitter backoff until success
290[info] retry.JitterBackoff.decorrelated
291[info] - should retry a future for a specified number of times
292[info] - should fail when expected
293[info] - should deal with future failures
294[info] - should retry futures passed by-name instead of caching results
295[info] - should pause with multiplier and jitter between retries
296[info] - should also work when invoked as forever
297[info] - should repeat on unexpected value with jitter backoff until success
298[info] retry.When
299[info] - should retry conditionally when a condition is met
300[info] - should retry but only when condition is met
301[info] - should handle future failures
302[info] - should repeat on failure until success
303[info] - should repeat on failure with pause until success
304[info] - should repeat on failure with backoff until success
305[info] - should repeat on failure with jitter backoff until success
306[info] retry.FailFast
307[info] - should not retry on success
308[info] - should retry number of times specified in the inner policy
309[info] - should fail when inner policy retries are exceeded
310[info] - should fail fast when predicate matches every throwable
311[info] - should fail fast when predicate matches a specific throwable
312[info] - should repeat on failure until success
313[info] - should repeat on failure with pause until success
314[info] - should repeat on failure with backoff until success
315[info] - should repeat on failure with jitter backoff until success
316[info] - should repeat on failure with when condition until success
317[info] - should take precedence over when condition if it also matches fail fast condition
318
319************************
320Build summary:
321[{
322 "module": "retry",
323 "compile": {"status": "ok", "tookMs": 5288, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
324 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
325 "test-compile": {"status": "ok", "tookMs": 4933, "warnings": 7, "errors": 0, "sourceVersion": "3.8"},
326 "test": {"status": "ok", "tookMs": 6428, "passed": 72, "failed": 0, "ignored": 0, "skipped": 0, "total": 72, "byFramework": [{"framework": "unknown", "stats": {"passed": 72, "failed": 0, "ignored": 0, "skipped": 0, "total": 72}}]},
327 "publish": {"status": "skipped", "tookMs": 0},
328 "metadata": {
329 "crossScalaVersions": ["2.12.20"]
330}
331}]
332************************
333[success] Total time: 19 s, completed Jan 8, 2026, 1:28:36 AM
334[0JChecking patch project/plugins.sbt...
335Checking patch project/build.properties...
336Checking patch build.sbt...
337Applied patch project/plugins.sbt cleanly.
338Applied patch project/build.properties cleanly.
339Applied patch build.sbt cleanly.