Build Logs
xebia-functional/fetch • 3.8.0-RC2:2025-11-28
Errors
0
Warnings
66
Total Lines
332
1##################################
2Clonning https://github.com/xebia-functional/fetch.git into /build/repo using revision v3.2.0
3##################################
4Note: switching to '20a4b1d12cb65db7e7fd1c3ddc52296dbf9408df'.
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.7.0
22----
23Preparing build for 3.8.0-RC2
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 scala3Version = "3.7.0"
35Replacement: val scala3Version = "3.8.0-RC2"
36Starting compilation server
37Compiling project (Scala 3.7.3, JVM (17))
38Compiled project (Scala 3.7.3, JVM (17))
39Successfully applied pattern 'val scala3Version = "3.7.0"' in build.sbt
40----
41Starting build for 3.8.0-RC2
42Execute tests: true
43sbt project found:
44Sbt version 1.10.11 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 xebia-functional/fetch
47##################################
48Scala version: 3.8.0-RC2
49Targets: com.47deg%fetch com.47deg%fetch-debug
50Project projectConfig: {"projects":{"exclude":[],"overrides":{}},"java":{"version":"17"},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"full","migrationVersions":[],"sourcePatches":[{"path":"build.sbt","pattern":"val scala3Version = \"3.7.0\"","replaceWith":"val scala3Version = \"<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 = '17'
56[copyRt] java9_rt = '/root/.sbt/1.0/java9-rt-ext-eclipse_adoptium_17_0_8/rt.jar'
57# Executing command line:
58java
59-Dfile.encoding=UTF-8
60-Dcommunitybuild.scala=3.8.0-RC2
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_17_0_8
67-jar
68/root/.sdkman/candidates/sbt/1.11.5/bin/sbt-launch.jar
69"setCrossScalaVersions 3.8.0-RC2"
70"++3.8.0-RC2 -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-RC2 """{"projects":{"exclude":[],"overrides":{}},"java":{"version":"17"},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"full","migrationVersions":[],"sourcePatches":[{"path":"build.sbt","pattern":"val scala3Version = \"3.7.0\"","replaceWith":"val scala3Version = \"<SCALA_VERSION>\""}]}""" com.47deg%fetch com.47deg%fetch-debug"
78
79[info] welcome to sbt 1.11.5 (Eclipse Adoptium Java 17.0.8)
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 3 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.85s.
85[info] done compiling
86[info] loading settings for project repo from build.sbt...
87[info] set current project to repo (in build file:/build/repo/)
88Execute setCrossScalaVersions: 3.8.0-RC2
89OpenCB::Changing crossVersion 3.8.0-RC2 -> 3.8.0-RC2 in fetch-debugJVM/crossScalaVersions
90OpenCB::Changing crossVersion 3.8.0-RC2 -> 3.8.0-RC2 in fetchJVM/crossScalaVersions
91[info] set current project to repo (in build file:/build/repo/)
92[info] Setting Scala version to 3.8.0-RC2 on 2 projects.
93[info] Switching Scala version on:
94[info] fetch-debugJVM (2.12.20, 2.13.16, 3.8.0-RC2)
95[info] fetchJVM (2.12.20, 2.13.16, 3.8.0-RC2)
96[info] Excluding projects:
97[info] fetchJS (2.12.20, 2.13.16)
98[info] documentation (2.12.20, 2.13.16)
99[info] microsite (2.12.20, 2.13.16)
100[info] fetch-examples (2.12.20, 2.13.16)
101[info] fetch-debugJS (2.12.20, 2.13.16)
102[info] * repo (2.13.16)
103[info] Reapplying settings...
104[info] set current project to repo (in build file:/build/repo/)
105Execute mapScalacOptions: ,REQUIRE:-source:3.8,-Wconf:msg=can be rewritten automatically under:s ,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
106[info] Reapplying settings...
107[info] set current project to repo (in build file:/build/repo/)
108[info] Defining Global / credentials, credentials and 6 others.
109[info] The new values will be used by Compile / scalafmtOnly, Global / pgpSelectPassphrase and 63 others.
110[info] Run `last` for details.
111[info] Reapplying settings...
112[info] set current project to repo (in build file:/build/repo/)
113Execute excludeLibraryDependency: com.github.ghik:zerowaste_{scalaVersion} com.olegpy:better-monadic-for_3 org.polyvariant:better-tostring_{scalaVersion} org.wartremover:wartremover_{scalaVersion}
114[info] Reapplying settings...
115OpenCB::Failed to reapply settings in excludeLibraryDependency: Reference to undefined setting:
116
117 Global / allExcludeDependencies from Global / allExcludeDependencies (CommunityBuildPlugin.scala:331)
118 Did you mean allExcludeDependencies ?
119 , retry without global scopes
120[info] Reapplying settings...
121[info] set current project to repo (in build file:/build/repo/)
122Execute removeScalacOptionsStartingWith: -P:wartremover
123[info] Reapplying settings...
124[info] set current project to repo (in build file:/build/repo/)
125[success] Total time: 0 s, completed Nov 28, 2025, 12:25:05 PM
126Build config: {"projects":{"exclude":[],"overrides":{}},"java":{"version":"17"},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"full","migrationVersions":[],"sourcePatches":[{"path":"build.sbt","pattern":"val scala3Version = \"3.7.0\"","replaceWith":"val scala3Version = \"<SCALA_VERSION>\""}]}
127Parsed config: Success(ProjectBuildConfig(ProjectsConfig(List(),Map()),Full,List()))
128Starting build...
129Projects: Set(fetchJVM, fetch-debugJVM)
130Starting build for ProjectRef(file:/build/repo/,fetchJVM) (fetch)... [0/2]
131OpenCB::Filter out '-deprecation', matches setting pattern '^-?-deprecation'
132OpenCB::Filter out '-feature', matches setting pattern '^-?-feature'
133OpenCB::Filter out '-source:3.0-migration', matches setting pattern '^-?-source(:.*)?'
134Compile scalacOptions: -unchecked, -Ywarn-dead-code, -language:higherKinds, -language:existentials, -language:postfixOps, -Ykind-projector, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
135[info] compiling 6 Scala sources to /build/repo/fetch/.jvm/target/scala-3.8.0-RC2/classes ...
136[warn] bad option '-Ywarn-dead-code' was ignored
137[warn] Option -Ykind-projector is deprecated: Use -Xkind-projector instead.
138[warn] -- [E092] Pattern Match Unchecked Warning: /build/repo/fetch/src/main/scala/fetch.scala:164:12
139[warn] 164 | case (a: FetchOne[Any, Any], b: FetchOne[Any, Any]) =>
140[warn] | ^
141[warn] |the type test for fetch.FetchOne[Any, Any] cannot be checked at runtime because its type arguments can't be determined from fetch.FetchRequest
142[warn] |
143[warn] | longer explanation available when compiling with `-explain`
144[warn] -- [E092] Pattern Match Unchecked Warning: /build/repo/fetch/src/main/scala/fetch.scala:164:35
145[warn] 164 | case (a: FetchOne[Any, Any], b: FetchOne[Any, Any]) =>
146[warn] | ^
147[warn] |the type test for fetch.FetchOne[Any, Any] cannot be checked at runtime because its type arguments can't be determined from fetch.FetchRequest
148[warn] |
149[warn] | longer explanation available when compiling with `-explain`
150[warn] -- [E092] Pattern Match Unchecked Warning: /build/repo/fetch/src/main/scala/fetch.scala:191:35
151[warn] 191 | case (a: FetchOne[Any, Any], b: Batch[Any, Any]) =>
152[warn] | ^
153[warn] |the type test for fetch.Batch[Any, Any] cannot be checked at runtime because its type arguments can't be determined from fetch.FetchRequest
154[warn] |
155[warn] | longer explanation available when compiling with `-explain`
156[warn] -- [E092] Pattern Match Unchecked Warning: /build/repo/fetch/src/main/scala/fetch.scala:211:12
157[warn] 211 | case (a: Batch[Any, Any], b: FetchOne[Any, Any]) =>
158[warn] | ^
159[warn] |the type test for fetch.Batch[Any, Any] cannot be checked at runtime because its type arguments can't be determined from fetch.FetchRequest
160[warn] |
161[warn] | longer explanation available when compiling with `-explain`
162[warn] -- [E092] Pattern Match Unchecked Warning: /build/repo/fetch/src/main/scala/fetch.scala:211:32
163[warn] 211 | case (a: Batch[Any, Any], b: FetchOne[Any, Any]) =>
164[warn] | ^
165[warn] |the type test for fetch.FetchOne[Any, Any] cannot be checked at runtime because its type arguments can't be determined from fetch.FetchRequest
166[warn] |
167[warn] | longer explanation available when compiling with `-explain`
168[warn] -- [E092] Pattern Match Unchecked Warning: /build/repo/fetch/src/main/scala/fetch.scala:230:32
169[warn] 230 | case (a: Batch[Any, Any], b: Batch[Any, Any]) =>
170[warn] | ^
171[warn] |the type test for fetch.Batch[Any, Any] cannot be checked at runtime because its type arguments can't be determined from fetch.FetchRequest
172[warn] |
173[warn] | longer explanation available when compiling with `-explain`
174[warn] -- [E092] Pattern Match Unchecked Warning: /build/repo/fetch/src/main/scala/fetch.scala:652:13
175[warn] 652 | case q: FetchOne[Any, Any] => runFetchOne[F](q, ds, blocked.result, cache, log)
176[warn] | ^
177[warn] |the type test for fetch.FetchOne[Any, Any] cannot be checked at runtime because its type arguments can't be determined from fetch.FetchRequest
178[warn] |
179[warn] | longer explanation available when compiling with `-explain`
180[warn] -- [E092] Pattern Match Unchecked Warning: /build/repo/fetch/src/main/scala/fetch.scala:653:13
181[warn] 653 | case q: Batch[Any, Any] => runBatch[F](q, ds, blocked.result, cache, log)
182[warn] | ^
183[warn] |the type test for fetch.Batch[Any, Any] cannot be checked at runtime because its type arguments can't be determined from fetch.FetchRequest
184[warn] |
185[warn] | longer explanation available when compiling with `-explain`
186[warn] there was 1 deprecation warning; re-run with -deprecation for details
187[warn] 11 warnings found
188[info] done compiling
189[info] compiling 7 Scala sources to /build/repo/fetch/.jvm/target/scala-3.8.0-RC2/test-classes ...
190[warn] bad option '-Ywarn-dead-code' was ignored
191[warn] Option -Ykind-projector is deprecated: Use -Xkind-projector instead.
192[warn] two warnings found
193[info] done compiling
194[info] FetchReportingTests:
195[info] - Plain values have no rounds of execution
196[info] - Single fetches are executed in one round
197[info] - Single fetches are executed in one round per binding in a for comprehension
198[info] - Single fetches for different data sources are executed in multiple rounds if they are in a for comprehension
199[info] - Single fetches combined with cartesian are run in one round
200[info] - Single fetches combined with traverse are run in one round
201[info] - Single fetches combined with Fetch.batchAll are run in one round
202[info] - The product of two fetches from the same data source implies batching
203[info] - The product of concurrent fetches of the same type implies everything fetched in batches
204[info] FetchSyntaxTests:
205[info] - `fetch` syntax allows lifting of any value to the context of a fetch
206[info] - `fetch` syntax allows lifting of any `Throwable` as a failure on a fetch
207[info] - `batchAll` syntax allows batching sequences of fetches and is equivalent to Fetch.batchAll
208[info] FetchTests:
209[info] - We can lift plain values to Fetch
210[info] - We can lift values which have a Data Source to Fetch
211[info] - We can map over Fetch values
212[info] - We can use fetch inside a for comprehension
213[info] - We can mix data sources
214[info] - We can use Fetch as a cartesian
215[info] - We can use Fetch as an applicative
216[info] - We can traverse over a list with a Fetch for each element
217[info] - We can depend on previous computations of Fetch values
218[info] - We can collect a list of Fetch into one
219[info] - We can collect a list of Fetches with heterogeneous sources
220[info] - We can collect the results of a traversal
221[info] - Monadic bind implies sequential execution
222[info] - Traversals are implicitly batched
223[info] - Sequencing is implicitly batched
224[info] - Identities are deduped when batched
225[info] - The product of two fetches implies parallel fetching
226[info] - Concurrent fetching calls batches only when it can
227[info] - Concurrent fetching performs requests to multiple data sources in parallel
228[info] - The product of concurrent fetches implies everything fetched concurrently
229[info] - The product of concurrent fetches of the same type implies everything fetched in a single batch
230[info] - Every level of joined concurrent fetches is combined and batched
231[info] - Every level of batched, concurrent fetches is batched
232[info] - The product of two fetches from the same data source implies batching
233[info] - Sequenced fetches are run concurrently
234[info] - Manually batched fetches are run concurrently
235[info] - Sequenced fetches are deduped
236[info] - Manually batched fetches are deduped
237[info] - Traversals are batched
238[info] - Duplicated sources are only fetched once
239[info] - Sources that can be fetched concurrently inside a for comprehension will automatically be concurrent
240[info] - Sources that are manually batched will be fetched concurrently
241[info] - Pure Fetches allow to explore further in the Fetch
242[info] - Elements are cached and thus not fetched more than once
243[info] - Batched elements are cached and thus not fetched more than once
244[info] - Elements that are cached won't be fetched
245[info] - Fetch#run accepts a cache as the second (optional) parameter
246[info] - Fetch#runCache accepts a cache as the second (optional) parameter
247[info] - Fetch#runCache works without the optional cache parameter
248[info] - We can use a custom cache that discards elements
249[info] - We can use a custom cache that discards elements together with concurrent fetches
250[info] - Data sources with errors throw fetch failures
251[info] - Data sources with errors throw fetch failures that can be handled
252[info] - Data sources with errors won't fail if they're cached
253[info] - We can lift errors to Fetch
254[info] - We can lift handle and recover from errors in Fetch
255[info] - If a fetch fails in the left hand of a product the product will fail
256[info] - If a fetch fails in the right hand of a product the product will fail
257[info] - If there is a missing identity in the left hand of a product the product will fail
258[info] - If there is a missing identity in the right hand of a product the product will fail
259[info] - If there are multiple failing identities the fetch will fail
260[info] - We can run optional fetches
261[info] - We can run optional fetches with Fetch.batchAll
262[info] - We can run optional fetches with other data sources
263[info] - We can make fetches that depend on optional fetch results when they aren't defined
264[info] - We can make fetches that depend on optional fetch results when they are defined
265[info] - We can lift IO actions into Fetch
266[info] - A failed IO action lifted into Fetch will cause a Fetch to fail
267[info] - A IO action can be combined with data fetches
268[info] - We can lift Concurrent actions into Fetch
269[info] - A failed Concurrent action lifted into Fetch will cause a Fetch to fail
270[info] - A Concurrent action can be combined with data fetches
271[info] FetchAsyncQueryTests:
272[info] - We can interpret an async fetch into an IO
273[info] - We can combine several async data sources and interpret a fetch into an IO
274[info] - We can use combinators in a for comprehension and interpret a fetch from async sources into an IO
275[info] - We can use combinators and multiple sources in a for comprehension and interpret a fetch from async sources into an IO
276[info] FetchBatchingTests:
277[info] - A large fetch to a datasource with a maximum batch size is split and executed in sequence
278[info] - A large fetch to a datasource with a maximum batch size is split and executed in parallel
279[info] - Fetches to datasources with a maximum batch size should be split and executed in parallel and sequentially when using productR
280[info] - Fetches to datasources with a maximum batch size should be split and executed in parallel and sequentially when using productL
281[info] - A large (many) fetch to a datasource with a maximum batch size is split and executed in sequence
282[info] - A large (many) fetch to a datasource with a maximum batch size is split and executed in parallel
283[info] - Very deep fetches don't overflow stack or heap
284[info] - Fetches produced across unrelated fetches to a DataSource that is NOT batched across fetch executions should NOT be bundled together
285[info] - Fetches produced across unrelated fetches to a DataSource that is batched across fetch executions should be bundled together
286Starting build for ProjectRef(file:/build/repo/,fetch-debugJVM) (fetch-debug)... [1/2]
287Compile scalacOptions: -unchecked, -Ywarn-dead-code, -language:higherKinds, -language:existentials, -language:postfixOps, -Ykind-projector, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
288[info] compiling 2 Scala sources to /build/repo/fetch-debug/.jvm/target/scala-3.8.0-RC2/classes ...
289[warn] bad option '-Ywarn-dead-code' was ignored
290[warn] Option -Ykind-projector is deprecated: Use -Xkind-projector instead.
291[warn] -- [E029] Pattern Match Exhaustivity Warning: /build/repo/fetch-debug/src/main/scala/document.scala:50:6
292[warn] 50 | state match {
293[warn] | ^^^^^
294[warn] | match may not be exhaustive.
295[warn] |
296[warn] | It would fail on pattern case: List((_, _, _), _*)
297[warn] |
298[warn] | longer explanation available when compiling with `-explain`
299[warn] three warnings found
300[info] done compiling
301
302************************
303Build summary:
304[{
305 "module": "fetch",
306 "compile": {"status": "ok", "tookMs": 13033, "warnings": 8, "errors": 0, "sourceVersion": "3.8"},
307 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
308 "test-compile": {"status": "ok", "tookMs": 8718, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
309 "test": {"status": "ok", "tookMs": 3845, "passed": 87, "failed": 0, "ignored": 0, "skipped": 0, "total": 87, "byFramework": [{"framework": "unknown", "stats": {"passed": 87, "failed": 0, "ignored": 0, "skipped": 0, "total": 87}}]},
310 "publish": {"status": "skipped", "tookMs": 0},
311 "metadata": {
312 "crossScalaVersions": ["2.12.20", "2.13.16", "3.7.0"]
313}
314},{
315 "module": "fetch-debug",
316 "compile": {"status": "ok", "tookMs": 1847, "warnings": 1, "errors": 0, "sourceVersion": "3.8"},
317 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
318 "test-compile": {"status": "ok", "tookMs": 182, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
319 "test": {"status": "ok", "tookMs": 134, "passed": 0, "failed": 0, "ignored": 0, "skipped": 0, "total": 0, "byFramework": []},
320 "publish": {"status": "skipped", "tookMs": 0},
321 "metadata": {
322 "crossScalaVersions": ["2.12.20", "2.13.16", "3.7.0"]
323}
324}]
325************************
326[success] Total time: 40 s, completed Nov 28, 2025, 12:25:45 PM
327[0JChecking patch project/plugins.sbt...
328Checking patch project/build.properties...
329Checking patch build.sbt...
330Applied patch project/plugins.sbt cleanly.
331Applied patch project/build.properties cleanly.
332Applied patch build.sbt cleanly.