Build Logs

shuwariafrica/ashtray • 3.8.0-RC5:2025-12-31

Errors

5

Warnings

20

Total Lines

522

1##################################
2Clonning https://github.com/shuwariafrica/ashtray.git into /build/repo using revision v0.3.0
3##################################
4Note: switching to '6e90fc9b5977b7372cbe1e106a11c91e39a76fcb'.
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-RC5
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-RC5
32Execute tests: true
33sbt project found:
34No prepare script found for project shuwariafrica/ashtray
35##################################
36Scala version: 3.8.0-RC5
37Targets: africa.shuwari%ashtray-mssql africa.shuwari%ashtray-zio-prelude
38Project projectConfig: {"projects":{"exclude":[],"overrides":{}},"java":{"version":"25"},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"full","migrationVersions":[],"sourcePatches":[]}
39##################################
40Using extra scalacOptions: ,REQUIRE:-source:3.8
41Filtering out scalacOptions: ,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
42[sbt_options] declare -a sbt_options=()
43[process_args] java_version = '25'
44[copyRt] java9_rt = '/root/.sbt/1.0/java9-rt-ext-eclipse_adoptium_25/rt.jar'
45# Executing command line:
46java
47-Dfile.encoding=UTF-8
48-Xmx5G
49-Xms2G
50-Xss2M
51-Dcommunitybuild.scala=3.8.0-RC5
52-Dcommunitybuild.project.dependencies.add=
53-Xmx7G
54-Xms4G
55-Xss8M
56-Dsbt.script=/root/.sdkman/candidates/sbt/current/bin/sbt
57-Dscala.ext.dirs=/root/.sbt/1.0/java9-rt-ext-eclipse_adoptium_25
58-jar
59/root/.sdkman/candidates/sbt/1.11.5/bin/sbt-launch.jar
60"setCrossScalaVersions 3.8.0-RC5"
61"++3.8.0-RC5 -v"
62"mapScalacOptions ",REQUIRE:-source:3.8,-Wconf:msg=can be rewritten automatically under:s" ",-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e""
63"set every credentials := Nil"
64"excludeLibraryDependency com.github.ghik:zerowaste_{scalaVersion} com.olegpy:better-monadic-for_3 org.polyvariant:better-tostring_{scalaVersion} org.wartremover:wartremover_{scalaVersion}"
65"removeScalacOptionsStartingWith -P:wartremover"
66
67moduleMappings
68"runBuild 3.8.0-RC5 """{"projects":{"exclude":[],"overrides":{}},"java":{"version":"25"},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"full","migrationVersions":[],"sourcePatches":[]}""" africa.shuwari%ashtray-mssql africa.shuwari%ashtray-zio-prelude"
69
70[info] [launcher] getting org.scala-sbt sbt 1.11.7 (this may take some time)...
71WARNING: A terminally deprecated method in sun.misc.Unsafe has been called
72WARNING: sun.misc.Unsafe::arrayBaseOffset has been called by net.openhft.hashing.UnsafeAccess (file:/root/.sbt/boot/scala-2.12.20/org.scala-sbt/sbt/1.11.7/zero-allocation-hashing-0.16.jar)
73WARNING: Please consider reporting this to the maintainers of class net.openhft.hashing.UnsafeAccess
74WARNING: sun.misc.Unsafe::arrayBaseOffset will be removed in a future release
75WARNING: A restricted method in java.lang.System has been called
76WARNING: java.lang.System::load has been called by com.sun.jna.Native in an unnamed module (file:/root/.sbt/boot/scala-2.12.20/org.scala-sbt/sbt/1.11.7/jna-5.12.0.jar)
77WARNING: Use --enable-native-access=ALL-UNNAMED to avoid a warning for callers in this module
78WARNING: Restricted methods will be blocked in a future release unless native access is enabled
79
80[info] welcome to sbt 1.11.7 (Eclipse Adoptium Java 25)
81[info] loading settings for project repo-build from akka.sbt, plugins.sbt...
82[info] loading project definition from /build/repo/project
83[info] compiling 2 Scala sources to /build/repo/project/target/scala-2.12/sbt-1.0/classes ...
84[info] Non-compiled module 'compiler-bridge_2.12' for Scala 2.12.20. Compiling...
85[info] Compilation completed in 8.403s.
86[info] done compiling
87[info] loading settings for project ashtray from build.sbt...
88[info] set current project to ashtray (in build file:/build/repo/)
89Execute setCrossScalaVersions: 3.8.0-RC5
90OpenCB::Changing crossVersion 3.7.4 -> 3.8.0-RC5 in ashtray-zio-prelude/crossScalaVersions
91OpenCB::Changing crossVersion 3.7.4 -> 3.8.0-RC5 in ashtray-test/crossScalaVersions
92OpenCB::Changing crossVersion 3.7.4 -> 3.8.0-RC5 in ashtray-mssql/crossScalaVersions
93OpenCB::Changing crossVersion 3.7.4 -> 3.8.0-RC5 in ashtray/crossScalaVersions
94[info] set current project to ashtray (in build file:/build/repo/)
95[info] Setting Scala version to 3.8.0-RC5 on 4 projects.
96[info] Switching Scala version on:
97[info] * ashtray (3.8.0-RC5)
98[info] ashtray-test (3.8.0-RC5)
99[info] ashtray-mssql (3.8.0-RC5)
100[info] ashtray-zio-prelude (3.8.0-RC5)
101[info] Excluding projects:
102[info] Reapplying settings...
103[info] set current project to ashtray (in build file:/build/repo/)
104Execute mapScalacOptions: ,REQUIRE:-source:3.8,-Wconf:msg=can be rewritten automatically under:s ,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
105[info] Reapplying settings...
106[info] set current project to ashtray (in build file:/build/repo/)
107[info] Defining Global / credentials, ThisBuild / credentials and 3 others.
108[info] The new values will be used by Compile / scalafmtOnly, Global / pgpSelectPassphrase and 29 others.
109[info] Run `last` for details.
110[info] Reapplying settings...
111[info] set current project to ashtray (in build file:/build/repo/)
112Execute excludeLibraryDependency: com.github.ghik:zerowaste_{scalaVersion} com.olegpy:better-monadic-for_3 org.polyvariant:better-tostring_{scalaVersion} org.wartremover:wartremover_{scalaVersion}
113[info] Reapplying settings...
114OpenCB::Failed to reapply settings in excludeLibraryDependency: Reference to undefined setting:
115
116 Global / allExcludeDependencies from Global / allExcludeDependencies (CommunityBuildPlugin.scala:331)
117 Did you mean ashtray-test / allExcludeDependencies ?
118 , retry without global scopes
119[info] Reapplying settings...
120[info] set current project to ashtray (in build file:/build/repo/)
121Execute removeScalacOptionsStartingWith: -P:wartremover
122[info] Reapplying settings...
123[info] set current project to ashtray (in build file:/build/repo/)
124[success] Total time: 0 s, completed Dec 31, 2025, 10:55:35 PM
125Build config: {"projects":{"exclude":[],"overrides":{}},"java":{"version":"25"},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"full","migrationVersions":[],"sourcePatches":[]}
126Parsed config: Success(ProjectBuildConfig(ProjectsConfig(List(),Map()),Full,List()))
127Starting build...
128Projects: Set(ashtray-mssql, ashtray-zio-prelude, ashtray-test)
129Starting build for ProjectRef(file:/build/repo/,ashtray-mssql) (ashtray-mssql)... [0/3]
130OpenCB::Exclude Scala3 specific scalacOption `REQUIRE:-source:3.8` in Scala 2.12.20 module Global
131Compile scalacOptions: -Xsemanticdb, -semanticdb-target, /build/repo/modules/mssql/target/scala-3.8.0-RC5/meta, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
132OpenCB::Filter out '-deprecation', matches setting pattern '^-?-deprecation'
133OpenCB::Filter out '-feature', matches setting pattern '^-?-feature'
134OpenCB::Filter out '-Xfatal-warnings', matches setting pattern '^-?-Xfatal-warnings'
135[info] compiling 15 Scala sources to /build/repo/modules/mssql/target/scala-3.8.0-RC5/classes ...
136[info] done compiling
137[info] compiling 1 Scala source to /build/repo/modules/test/target/scala-3.8.0-RC5/classes ...
138[info] done compiling
139[info] compiling 14 Scala sources to /build/repo/modules/mssql/target/scala-3.8.0-RC5/test-classes ...
140[info] done compiling
141WARNING: A terminally deprecated method in sun.misc.Unsafe has been called
142WARNING: sun.misc.Unsafe::objectFieldOffset has been called by scala.runtime.LazyVals$ (file:/root/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-library/3.8.0-RC5/scala-library-3.8.0-RC5.jar)
143WARNING: Please consider reporting this to the maintainers of class scala.runtime.LazyVals$
144WARNING: sun.misc.Unsafe::objectFieldOffset will be removed in a future release
145ashtray.mssql.test.time.test_formatters:
146 + 'formatter.datetime2' can correctly parse SQL Server DATETIME2 formatted values 0.023s
147 + 'formatter.datetime2' can correctly show LocalDateTime values 0.002s
148 + 'formatter.datetimeoffset' can correctly parse SQL Server DATETIMEOFFSET formatted values 0.001s
149 + 'formatter.datetimeoffset' can correctly show OffsetDateTime values 0.001s
150 + 'formatter.datetime2' rejects over-precision fractional seconds 0.002s
151 + 'formatter.datetimeoffset' rejects malformed offsets 0.001s
152ashtray.mssql.test.GeneratorTests:
153 + default V7 generator produces RFC variant and version 0.315s
154 + generateBatch rejects non-positive counts 0.006s
155 + generateBatch rejects negative counts 0.001s
156 + generateBatch returns requested size of V7 identifiers 0.035s
157 + generateBatch V7 identifiers narrow to V7 and not V4 0.004s
158 + V4 generator produces version 4 with correct variant 0.004s
159 + V4 batch produces correct version and variant with no duplicates in small sample 0.012s
160 + V7 batch timestamps are non-decreasing 0.009s
161 + V7 batch has no duplicates in small sample 0.014s
162 + V7 batch uniqueness holds for a larger sample 0.029s
163 + generate propagates IdentifierGen failures 0.004s
164ashtray.mssql.test.ErrorHierarchyTests:
165 + Identifier.parse rejects null input with NullInput error 0.001s
166 + Identifier.fromBytes rejects null input with NullInput error 0.001s
167 + Identifier.fromSqlServerBytes rejects null input with NullInput error 0.002s
168 + All IdentifierError instances are AshtrayError 0.012s
169 + All TemporalSchemaError instances are AshtrayError 0.005s
170 + All MetaError instances are AshtrayError 0.005s
171 + All errors extend Exception with NoStackTrace 0.002s
172 + Pattern matching on AshtrayError discriminates IdentifierError 0.001s
173 + Pattern matching on AshtrayError discriminates TemporalSchemaError 0.0s
174 + Pattern matching on AshtrayError discriminates MetaError 0.0s
175 + Pattern matching on IdentifierError discriminates specific cases 0.004s
176 + Pattern matching on TemporalSchemaError discriminates specific cases 0.001s
177 + Pattern matching on MetaError discriminates specific cases 0.0s
178 + IdentifierError.NullInput has descriptive message 0.001s
179 + IdentifierError.InvalidLength has descriptive message with values 0.001s
180 + IdentifierError.InvalidCharacter has descriptive message with position 0.001s
181 + TemporalSchemaError messages include fragment for debugging 0.0s
182 + MetaError.IdentifierDecodeFailure includes column index and cause 0.001s
183 + IdentifierError type alias resolves correctly 0.001s
184 + TemporalSchemaError type alias resolves correctly 0.001s
185 + MetaError type alias resolves correctly 0.001s
1862025.12.31 22:55:59:191 pool-1-thread-1 INFO org.testcontainers.images.PullPolicy
187 Image pull policy will be performed by: DefaultPullPolicy()
1882025.12.31 22:55:59:254 pool-1-thread-1 INFO org.testcontainers.utility.ImageNameSubstitutor
189 Image name substitution will be performed by: DefaultImageNameSubstitutor (composite of 'ConfigurationFileImageNameSubstitutor' and 'PrefixingImageNameSubstitutor')
1902025.12.31 22:55:59:262 pool-1-thread-1 INFO org.testcontainers.DockerClientFactory
191 Testcontainers version: 2.0.2
192WARNING: A restricted method in java.lang.System has been called
193WARNING: java.lang.System::load has been called by com.sun.jna.Native in an unnamed module (file:/root/.cache/coursier/v1/https/repo1.maven.org/maven2/net/java/dev/jna/jna/5.18.1/jna-5.18.1.jar)
194WARNING: Use --enable-native-access=ALL-UNNAMED to avoid a warning for callers in this module
195WARNING: Restricted methods will be blocked in a future release unless native access is enabled
196
1972025.12.31 22:55:59:877 pool-1-thread-1 INFO org.testcontainers.dockerclient.DockerClientProviderStrategy
198 Found Docker environment with local Unix socket (unix:///var/run/docker.sock)
1992025.12.31 22:55:59:906 pool-1-thread-1 INFO org.testcontainers.DockerClientFactory
200 Docker host IP address is 172.17.0.1
201 Connected to docker:
202 Server Version: 28.0.4
203 API Version: 1.48
204 Operating System: Ubuntu 22.04.5 LTS
205 Total Memory: 15995 MB
2062025.12.31 22:55:59:964 pool-1-thread-1 INFO tc.testcontainers/ryuk:0.13.0
207 Pulling docker image: testcontainers/ryuk:0.13.0. Please be patient; this may take some time but only needs to be done once.
2082025.12.31 22:55:59:971 pool-1-thread-1 INFO org.testcontainers.utility.RegistryAuthLocator
209 Failure when attempting to lookup auth config. Please ignore if you don't have images in an authenticated registry. Details: (dockerImageName: testcontainers/ryuk:latest, configFile: /root/.docker/config.json, configEnv: DOCKER_AUTH_CONFIG). Falling back to docker-java default behaviour. Exception message: Status 404: No config supplied. Checked in order: /root/.docker/config.json (file not found), DOCKER_AUTH_CONFIG (not set)
2102025.12.31 22:56:00:922 docker-java-stream--792291873 INFO tc.testcontainers/ryuk:0.13.0
211 Starting to pull image
212 Pulling image layers: 0 pending, 0 downloaded, 0 extracted, (0 bytes/0 bytes)
213 Pulling image layers: 1 pending, 1 downloaded, 0 extracted, (72 KB/? MB)
214 Pulling image layers: 1 pending, 1 downloaded, 1 extracted, (281 KB/? MB)
215 Pulling image layers: 0 pending, 2 downloaded, 1 extracted, (281 KB/6 MB)
216 Pulling image layers: 0 pending, 2 downloaded, 2 extracted, (6 MB/6 MB)
2172025.12.31 22:56:01:545 pool-1-thread-1 INFO tc.testcontainers/ryuk:0.13.0
218 Image testcontainers/ryuk:0.13.0 pull took PT1.58090591S
219 Creating container for image: testcontainers/ryuk:0.13.0
220 Container testcontainers/ryuk:0.13.0 is starting: 9cc95c370baf1b07f4354126555a6693263f69e38aac6fc90b3df0673ae56c37
221 Container testcontainers/ryuk:0.13.0 started in PT0.295866438S
2222025.12.31 22:56:01:876 pool-1-thread-1 INFO org.testcontainers.utility.RyukResourceReaper
223 Ryuk started - will monitor and terminate Testcontainers containers on JVM exit
2242025.12.31 22:56:01:877 pool-1-thread-1 INFO org.testcontainers.DockerClientFactory
225 Checking the system...
226 ✔︎ Docker server version should be at least 1.6.0
2272025.12.31 22:56:01:882 pool-1-thread-1 INFO tc.mcr.microsoft.com/mssql/rhel/server:2025-latest
228 Pulling docker image: mcr.microsoft.com/mssql/rhel/server:2025-latest. Please be patient; this may take some time but only needs to be done once.
2292025.12.31 22:56:01:882 pool-1-thread-1 INFO org.testcontainers.utility.RegistryAuthLocator
230 Failure when attempting to lookup auth config. Please ignore if you don't have images in an authenticated registry. Details: (dockerImageName: mcr.microsoft.com/mssql/rhel/server:latest, configFile: /root/.docker/config.json, configEnv: DOCKER_AUTH_CONFIG). Falling back to docker-java default behaviour. Exception message: Status 404: No config supplied. Checked in order: /root/.docker/config.json (file not found), DOCKER_AUTH_CONFIG (not set)
2312025.12.31 22:56:02:059 docker-java-stream--250437938 INFO tc.mcr.microsoft.com/mssql/rhel/server:2025-latest
232 Starting to pull image
233 Pulling image layers: 0 pending, 0 downloaded, 0 extracted, (0 bytes/0 bytes)
2342025.12.31 22:56:03:228 docker-java-stream--250437938 INFO tc.mcr.microsoft.com/mssql/rhel/server:2025-latest
235 Pulling image layers: 2 pending, 1 downloaded, 0 extracted, (190 MB/? MB)
2362025.12.31 22:56:04:949 docker-java-stream--250437938 INFO tc.mcr.microsoft.com/mssql/rhel/server:2025-latest
237 Pulling image layers: 1 pending, 2 downloaded, 0 extracted, (456 MB/? MB)
2382025.12.31 22:56:06:077 docker-java-stream--250437938 INFO tc.mcr.microsoft.com/mssql/rhel/server:2025-latest
239 Pulling image layers: 1 pending, 2 downloaded, 1 extracted, (489 MB/? MB)
2402025.12.31 22:56:22:075 docker-java-stream--250437938 INFO tc.mcr.microsoft.com/mssql/rhel/server:2025-latest
241 Pulling image layers: 0 pending, 3 downloaded, 1 extracted, (908 MB/918 MB)
2422025.12.31 22:56:30:511 docker-java-stream--250437938 INFO tc.mcr.microsoft.com/mssql/rhel/server:2025-latest
243 Pulling image layers: 0 pending, 3 downloaded, 2 extracted, (915 MB/918 MB)
2442025.12.31 22:56:33:226 docker-java-stream--250437938 INFO tc.mcr.microsoft.com/mssql/rhel/server:2025-latest
245 Pulling image layers: 0 pending, 3 downloaded, 3 extracted, (918 MB/918 MB)
246 Pull complete. 3 layers, pulled in 31s (downloaded 918 MB at 29 MB/s)
2472025.12.31 22:56:33:233 pool-1-thread-1 INFO tc.mcr.microsoft.com/mssql/rhel/server:2025-latest
248 Image mcr.microsoft.com/mssql/rhel/server:2025-latest pull took PT31.351177386S
249 Creating container for image: mcr.microsoft.com/mssql/rhel/server:2025-latest
250 Container mcr.microsoft.com/mssql/rhel/server:2025-latest is starting: fb04c7eaa81a456ca59cda3c18cc81c0d86fe18b2a05127d01604c21291008fb
251 Waiting for database connection to become available at jdbc:sqlserver://172.17.0.1:32769;encrypt=true;trustServerCertificate=true using query 'SELECT 1'
2522025.12.31 22:56:38:573 pool-1-thread-1 INFO tc.mcr.microsoft.com/mssql/rhel/server:2025-latest
253 Container mcr.microsoft.com/mssql/rhel/server:2025-latest started in PT5.324548199S
254 Container is started (JDBC URL: jdbc:sqlserver://172.17.0.1:32769;encrypt=true;trustServerCertificate=true)
255ashtray.mssql.test.TemporalPeriodTests:
256 + Temporal.Versioned Read instance correctly deserializes entity and period from database 0.764s
257 + Period.isCurrent correctly identifies current rows by validTo == MaxDateTime2 1.4s
258 + Temporal.isCurrent extension method correctly identifies current versions 1.381s
259 + Temporal.current extension correctly extracts entity 0.309s
260 + Period.MaxDateTime2 constant matches SQL Server max DATETIME2 0.282s
261 + Temporal.Versioned and Temporal.Current type aliases resolve correctly 0.005s
262 + Historical versions maintain accurate period boundaries 1.391s
2632025.12.31 22:56:44:306 pool-1-thread-1 INFO tc.mcr.microsoft.com/mssql/rhel/server:2025-latest
264 Creating container for image: mcr.microsoft.com/mssql/rhel/server:2025-latest
265 Container mcr.microsoft.com/mssql/rhel/server:2025-latest is starting: 7a3da759ef99a0597db0c2179dd7d056f473d104617cda157a9c6afa9c761e19
266 Waiting for database connection to become available at jdbc:sqlserver://172.17.0.1:32770;encrypt=true;trustServerCertificate=true using query 'SELECT 1'
2672025.12.31 22:56:49:075 pool-1-thread-1 INFO tc.mcr.microsoft.com/mssql/rhel/server:2025-latest
268 Container mcr.microsoft.com/mssql/rhel/server:2025-latest started in PT4.76843236S
269 Container is started (JDBC URL: jdbc:sqlserver://172.17.0.1:32770;encrypt=true;trustServerCertificate=true)
270ashtray.mssql.test.MetaTests:
271 + Encode and decode between java UUID instances and SQL Server UNIQUEIDENTIFIER records. 0.127s
272 + Encode and decode between java LocalDateTime instances and SQL Server DATETIME2 records. 0.109s
273 + Encode and decode between java OffsetDateTime instances and SQL Server DATETIMEOFFSET records. 0.103s
274 + Encode and decode Identifier via UNIQUEIDENTIFIER round trip 0.107s
275 + Encode and decode typed V7 Identifier via UNIQUEIDENTIFIER round trip 0.091s
276 + Encode and decode typed V4 Identifier via UNIQUEIDENTIFIER round trip 0.094s
277 + UNIQUEIDENTIFIER bytes match SQL Server mixed-endian storage 0.286s
278 + Identifier can be used in WHERE predicates 0.275s
279 + Nullable Identifier and datetime Meta handle NULL values 0.188s
280 + Typed and untyped literals survive database round trips 0.21s
281ashtray.mssql.test.NarrowingRoundtripTests:
282 + parse then narrow to V7 succeeds when version nibble is 7 0.001s
283 + parse then narrow to V4 succeeds when version nibble is 4 0.0s
284 + typed literal idv narrows to specific version 0.001s
285ashtray.mssql.test.IdentifierOpsTests:
286 + Minimal wrapper exports type classes correctly 0.003s
287 + Full wrapper has all operations available 0.002s
288 + V7 wrapper has timestamp operations 0.005s
289 + Selective exports limit API surface 0.001s
290 + Non-exported operations are not available 0.001s
291 + Different wrappers can have different capabilities 0.001s
2922025.12.31 22:56:51:105 pool-1-thread-1 INFO tc.mcr.microsoft.com/mssql/rhel/server:2025-latest
293 Creating container for image: mcr.microsoft.com/mssql/rhel/server:2025-latest
294 Container mcr.microsoft.com/mssql/rhel/server:2025-latest is starting: d8a921ad77ae7c47fe34466549f0b56c31faa57792ba52b3fba306c5a19b0652
295 Waiting for database connection to become available at jdbc:sqlserver://172.17.0.1:32771;encrypt=true;trustServerCertificate=true using query 'SELECT 1'
2962025.12.31 22:56:55:752 pool-1-thread-1 INFO tc.mcr.microsoft.com/mssql/rhel/server:2025-latest
297 Container mcr.microsoft.com/mssql/rhel/server:2025-latest started in PT4.646872828S
298 Container is started (JDBC URL: jdbc:sqlserver://172.17.0.1:32771;encrypt=true;trustServerCertificate=true)
299ashtray.mssql.test.TemporalIntegrationTests:
300 + System-versioned table tracks period columns automatically 0.331s
301 + FOR SYSTEM_TIME AS OF returns point-in-time snapshot 1.409s
302 + FOR SYSTEM_TIME FROM...TO returns overlapping records (exclusive bounds) 0.942s
303 + FOR SYSTEM_TIME BETWEEN returns overlapping records (inclusive end) 0.854s
304 + FOR SYSTEM_TIME CONTAINED IN returns records entirely within period 1.153s
305 + FOR SYSTEM_TIME ALL returns complete history 0.669s
306 + TemporalRepo.current returns only current version 0.474s
307 + TemporalRepo.diff compares two versions at different times 1.201s
308 + Deleted records remain in history 0.919s
309 + Extension syntax with Long ID works end-to-end 0.547s
310 + TemporalRepo.allAsOf returns snapshot of all entities 1.123s
311 + restoreTo rolls back entity to historical state 1.22s
312 + restoreTo returns 0 when entity didn't exist at specified time 0.549s
313 + restoreTo preserves all entity fields correctly 0.921s
314 + asOf returns None for non-existent entity ID 0.272s
315 + allAsOf returns empty list when table is empty 0.282s
316 + history returns empty list for non-existent entity ID 0.274s
317 + historyBetween returns empty list for non-existent entity ID 0.36s
318 + historyBetween with very narrow time window 0.94s
319 + containedIn returns empty list when no versions fully contained 0.653s
320 + diff returns None when entity doesn't exist at one timestamp 0.786s
321 + current returns None for non-existent entity ID 0.267s
322 + Multiple concurrent inserts tracked in history 0.537s
323 + restoreTo with non-existent entity at specified time returns 0 0.475s
324 + Queries handle MaxDateTime2 boundary correctly 0.279s
325 + Large batch query with allAsOf handles multiple entities efficiently 5.081s
3262025.12.31 22:57:18:476 pool-1-thread-1 INFO tc.mcr.microsoft.com/mssql/rhel/server:2025-latest
327 Creating container for image: mcr.microsoft.com/mssql/rhel/server:2025-latest
328 Container mcr.microsoft.com/mssql/rhel/server:2025-latest is starting: e512fc6ff11f3d42d7bd8863d730ac763fa2dc10de84cde2aec3a8d209ee8a93
329 Waiting for database connection to become available at jdbc:sqlserver://172.17.0.1:32772;encrypt=true;trustServerCertificate=true using query 'SELECT 1'
3302025.12.31 22:57:23:483 pool-1-thread-1 INFO tc.mcr.microsoft.com/mssql/rhel/server:2025-latest
331 Container mcr.microsoft.com/mssql/rhel/server:2025-latest started in PT5.006667831S
332 Container is started (JDBC URL: jdbc:sqlserver://172.17.0.1:32772;encrypt=true;trustServerCertificate=true)
333ashtray.mssql.test.PackageExtensionTests:
334 + xa.temporal[Long, A] extension derives repository with Long ID type 0.328s
335 + xa.temporal[Identifier, A] extension derives repository with Identifier ID type 0.271s
336 + Extension method works with only single import (no TemporalRepo.* import needed) 2.922s
337 + Repository derived via extension supports all temporal operations 1.488s
338ashtray.mssql.test.IdentifierParsingTests:
339 + parse accepts canonical UUID string 0.001s
340 + parse accepts upper and mixed case input 0.001s
341 + parse rejects invalid length 0.0s
342 + parse rejects invalid character 0.0s
343 + parse rejects misplaced hyphens 0.0s
344 + parse rejects surrounding whitespace 0.0s
345 + fromBytes rejects wrong length 0.001s
346 + fromSqlServerBytes rejects wrong length 0.0s
347 + unknown version nibble parses to Version.Unknown 0.001s
348ashtray.mssql.test.IdentifierLiteralTests:
349 + id literal constructs identifier at compile time 0.0s
350 + idv literal returns typed V7 0.001s
351 + idv literal returns typed V4 with correct variant 0.0s
352 + id literal rejects invalid input at compile time 0.008s
353 + id literal rejects wrong length and hyphen positions at compile time 0.001s
354 + id literal rejects interpolated usage 0.001s
355 + idv literal rejects unsupported version 0.001s
356 + idv literal rejects non 4/7/1 versions at compile time 0.001s
357 + literals render in canonical lowercase and retain variant bits 0.001s
3582025.12.31 22:57:28:712 pool-1-thread-1 INFO tc.mcr.microsoft.com/mssql/rhel/server:2025-latest
359 Creating container for image: mcr.microsoft.com/mssql/rhel/server:2025-latest
360 Container mcr.microsoft.com/mssql/rhel/server:2025-latest is starting: 2d053b71d606ddced173f506c058494dff73ffe2e73d281fd253386ceed04430
361 Waiting for database connection to become available at jdbc:sqlserver://172.17.0.1:32773;encrypt=true;trustServerCertificate=true using query 'SELECT 1'
3622025.12.31 22:57:33:551 pool-1-thread-1 INFO tc.mcr.microsoft.com/mssql/rhel/server:2025-latest
363 Container mcr.microsoft.com/mssql/rhel/server:2025-latest started in PT4.838767689S
364 Container is started (JDBC URL: jdbc:sqlserver://172.17.0.1:32773;encrypt=true;trustServerCertificate=true)
365ashtray.mssql.test.MetaErrorIntegrationTests:
366 + Meta[Identifier] successfully decodes valid UNIQUEIDENTIFIER from database 0.122s
367 + Meta[Identifier] handles NULL in nullable column correctly 0.088s
368 + Meta[UUID] successfully round-trips java.util.UUID through database 0.085s
369 + Meta instances preserve identifier through INSERT/SELECT round trip 0.089s
370 + Meta[Identifier.Versioned[V7]] preserves version through round trip 0.09s
371 + Meta[LocalDateTime] handles DATETIME2 with full precision 0.085s
372 + Meta[OffsetDateTime] handles DATETIMEOFFSET with timezone 0.085s
373 + Multiple identifier operations in single transaction preserve values 0.101s
374ashtray.mssql.test.IdentifierEncodingTests:
375 + toBytes and fromBytes roundtrip 0.001s
376 + toSqlServerBytes uses mixed endian ordering 0.001s
377 + toSqlServerBytes and fromSqlServerBytes roundtrip 0.0s
378 + fromSqlServerBytes rejects big-endian ordering by yielding a different identifier 0.001s
379 + toJava and fromJava roundtrip 0.0s
380 + mostSignificantBits accessor returns correct value 0.001s
381 + leastSignificantBits accessor returns correct value 0.0s
382 + Identifier.render produces canonical lowercase representation 0.0s
383 + Identifier Show typeclass produces canonical format 0.001s
384 + Versioned[V] Show typeclass produces canonical format 0.001s
385ashtray.mssql.test.VersionTests:
386 + version detection for V4 0.002s
387 + version detection and timestamp for V7 0.0s
388 + v1 fields are extracted correctly 0.001s
389 + unknown version yields Version.Unknown and does not narrow 0.001s
390ashtray.mssql.test.TemporalTests:
391 + Period.MaxDateTime2 has correct maximum value 0.001s
392 + Period.DateTime2 type alias is correct 0.0s
393 + SystemTime.asOf creates AsOf with UTC conversion 0.001s
394 + SystemTime.AsOf.toFragment generates FOR SYSTEM_TIME AS OF clause 0.0s
395 + SystemTime.fromTo creates FromTo with UTC conversion 0.001s
396 + SystemTime.FromTo.toFragment generates FOR SYSTEM_TIME FROM TO clause 0.001s
397 + SystemTime.between creates Between with UTC conversion 0.0s
398 + SystemTime.Between.toFragment generates FOR SYSTEM_TIME BETWEEN clause 0.001s
399 + SystemTime.containedIn creates ContainedIn with UTC conversion 0.001s
400 + SystemTime.ContainedIn.toFragment generates FOR SYSTEM_TIME CONTAINED IN clause 0.0s
401 + SystemTime.All.toFragment generates FOR SYSTEM_TIME ALL clause 0.0s
402 + Temporal.Versioned type alias resolves correctly 0.001s
403 + Temporal.Current type alias resolves correctly 0.0s
404 + Temporal.isCurrent returns true when validTo is MaxDateTime2 0.0s
405 + Temporal.isCurrent returns false when validTo is not MaxDateTime2 0.0s
406 + Temporal.current extracts entity when called 0.0s
407 + Temporal.current always extracts entity 0.0s
408 + TemporalSchema.periodColumns generates correct fragment 0.007s
409 + TemporalSchema.allColumns combines entity and period columns 0.002s
410 + TemporalSchema.forSystemTime combines table and AS OF clause 0.001s
411 + TemporalSchema.forSystemTime combines table and FROM TO clause 0.001s
412 + TemporalSchema.forSystemTime combines table and BETWEEN clause 0.001s
413 + TemporalSchema.forSystemTime combines table and CONTAINED IN clause 0.001s
414 + TemporalSchema.forSystemTime combines table and ALL clause 0.001s
415 + Period.columns generates correct fragment 0.001s
416 + Transactor extension for temporal repository is available with single import 0.0s
417 + Type safety: TemporalMode.Standard and SystemVersioned are distinct 0.001s
418 + TemporalVersioned type alias is exported 0.0s
419 + TemporalCurrent type alias is exported 0.0s
420 + columnNames extracts simple comma-separated list 0.001s
421 + columnNames handles columns with no spaces 0.0s
422 + columnNames handles qualified column names 0.0s
423 + columnNames rejects SQL line comments 0.0s
424 + columnNames rejects SQL block comments 0.0s
425 + columnNames rejects string literals with single quotes 0.001s
426 + columnNames rejects string literals with double quotes 0.0s
427 + columnNames rejects SELECT keywords 0.0s
428 + columnNames rejects FROM keywords 0.0s
429 + columnNames rejects function calls with parentheses 0.0s
430 + columnNames rejects empty column names 0.0s
431Starting build for ProjectRef(file:/build/repo/,ashtray-zio-prelude) (ashtray-zio-prelude)... [1/3]
432Compile scalacOptions: -Xsemanticdb, -semanticdb-target, /build/repo/modules/zio-prelude/target/scala-3.8.0-RC5/meta, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
433[info] compiling 1 Scala source to /build/repo/modules/zio-prelude/target/scala-3.8.0-RC5/classes ...
434[info] done compiling
435[info] compiling 1 Scala source to /build/repo/modules/zio-prelude/target/scala-3.8.0-RC5/test-classes ...
436[info] done compiling
437WARNING: A terminally deprecated method in sun.misc.Unsafe has been called
438WARNING: sun.misc.Unsafe::objectFieldOffset has been called by scala.runtime.LazyVals$ (file:/root/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-library/3.8.0-RC5/scala-library-3.8.0-RC5.jar)
439WARNING: Please consider reporting this to the maintainers of class scala.runtime.LazyVals$
440WARNING: sun.misc.Unsafe::objectFieldOffset will be removed in a future release
4412025.12.31 22:57:37:953 pool-1-thread-1 INFO org.testcontainers.images.PullPolicy
442 Image pull policy will be performed by: DefaultPullPolicy()
4432025.12.31 22:57:38:010 pool-1-thread-1 INFO org.testcontainers.utility.ImageNameSubstitutor
444 Image name substitution will be performed by: DefaultImageNameSubstitutor (composite of 'ConfigurationFileImageNameSubstitutor' and 'PrefixingImageNameSubstitutor')
4452025.12.31 22:57:38:022 pool-1-thread-1 INFO org.testcontainers.DockerClientFactory
446 Testcontainers version: 2.0.2
4472025.12.31 22:57:38:173 pool-1-thread-1 INFO org.testcontainers.dockerclient.DockerClientProviderStrategy
448 Loaded org.testcontainers.dockerclient.UnixSocketClientProviderStrategy from ~/.testcontainers.properties, will try it first
449 Found Docker environment with local Unix socket (unix:///var/run/docker.sock)
4502025.12.31 22:57:38:680 pool-1-thread-1 INFO org.testcontainers.DockerClientFactory
451 Docker host IP address is 172.17.0.1
452 Connected to docker:
453 Server Version: 28.0.4
454 API Version: 1.48
455 Operating System: Ubuntu 22.04.5 LTS
456 Total Memory: 15995 MB
4572025.12.31 22:57:38:729 pool-1-thread-1 INFO tc.testcontainers/ryuk:0.13.0
458 Creating container for image: testcontainers/ryuk:0.13.0
4592025.12.31 22:57:38:733 pool-1-thread-1 INFO org.testcontainers.utility.RegistryAuthLocator
460 Failure when attempting to lookup auth config. Please ignore if you don't have images in an authenticated registry. Details: (dockerImageName: testcontainers/ryuk:0.13.0, configFile: /root/.docker/config.json, configEnv: DOCKER_AUTH_CONFIG). Falling back to docker-java default behaviour. Exception message: Status 404: No config supplied. Checked in order: /root/.docker/config.json (file not found), DOCKER_AUTH_CONFIG (not set)
4612025.12.31 22:57:38:849 pool-1-thread-1 INFO tc.testcontainers/ryuk:0.13.0
462 Container testcontainers/ryuk:0.13.0 is starting: 55d96e0a0dcdc6ccc14a616919d326f7ddac38987c8f17d3807e810ea90001e2
463 Container testcontainers/ryuk:0.13.0 started in PT0.366702901S
4642025.12.31 22:57:39:101 pool-1-thread-1 INFO org.testcontainers.utility.RyukResourceReaper
465 Ryuk started - will monitor and terminate Testcontainers containers on JVM exit
4662025.12.31 22:57:39:102 pool-1-thread-1 INFO org.testcontainers.DockerClientFactory
467 Checking the system...
468 ✔︎ Docker server version should be at least 1.6.0
4692025.12.31 22:57:39:112 pool-1-thread-1 INFO tc.mcr.microsoft.com/mssql/rhel/server:2025-latest
470 Creating container for image: mcr.microsoft.com/mssql/rhel/server:2025-latest
4712025.12.31 22:57:39:113 pool-1-thread-1 INFO org.testcontainers.utility.RegistryAuthLocator
472 Failure when attempting to lookup auth config. Please ignore if you don't have images in an authenticated registry. Details: (dockerImageName: mcr.microsoft.com/mssql/rhel/server:2025-latest, configFile: /root/.docker/config.json, configEnv: DOCKER_AUTH_CONFIG). Falling back to docker-java default behaviour. Exception message: Status 404: No config supplied. Checked in order: /root/.docker/config.json (file not found), DOCKER_AUTH_CONFIG (not set)
4732025.12.31 22:57:39:137 pool-1-thread-1 INFO tc.mcr.microsoft.com/mssql/rhel/server:2025-latest
474 Container mcr.microsoft.com/mssql/rhel/server:2025-latest is starting: c2c8338cd8882e7bf88dee7be2f6b1ccf3670a88178cab99144c302b3656bbc5
475 Waiting for database connection to become available at jdbc:sqlserver://172.17.0.1:32775;encrypt=true;trustServerCertificate=true using query 'SELECT 1'
4762025.12.31 22:57:43:968 pool-1-thread-1 INFO tc.mcr.microsoft.com/mssql/rhel/server:2025-latest
477 Container mcr.microsoft.com/mssql/rhel/server:2025-latest started in PT4.85634685S
478 Container is started (JDBC URL: jdbc:sqlserver://172.17.0.1:32775;encrypt=true;trustServerCertificate=true)
479ashtray.prelude.test.NewtypeTests:
480 + Encode and decode between zio.Prelude.Newtype type instances with available Meta instances 0.243s
481Starting build for ProjectRef(file:/build/repo/,ashtray-test) (ashtray-test)... [2/3]
482Compile scalacOptions: -Xsemanticdb, -semanticdb-target, /build/repo/modules/test/target/scala-3.8.0-RC5/meta, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
483
484************************
485Build summary:
486[{
487 "module": "ashtray-mssql",
488 "compile": {"status": "ok", "tookMs": 11409, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
489 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
490 "test-compile": {"status": "ok", "tookMs": 8720, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
491 "test": {"status": "ok", "tookMs": 96941, "passed": 174, "failed": 0, "ignored": 0, "skipped": 0, "total": 174, "byFramework": [{"framework": "munit", "stats": {"passed": 174, "failed": 0, "ignored": 0, "skipped": 0, "total": 174}}]},
492 "publish": {"status": "skipped", "tookMs": 0},
493 "metadata": {
494 "crossScalaVersions": ["3.7.4"]
495}
496},{
497 "module": "ashtray-zio-prelude",
498 "compile": {"status": "ok", "tookMs": 432, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
499 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
500 "test-compile": {"status": "ok", "tookMs": 1164, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
501 "test": {"status": "ok", "tookMs": 8072, "passed": 1, "failed": 0, "ignored": 0, "skipped": 0, "total": 1, "byFramework": [{"framework": "munit", "stats": {"passed": 1, "failed": 0, "ignored": 0, "skipped": 0, "total": 1}}]},
502 "publish": {"status": "skipped", "tookMs": 0},
503 "metadata": {
504 "crossScalaVersions": ["3.7.4"]
505}
506},{
507 "module": "ashtray-test",
508 "compile": {"status": "ok", "tookMs": 52, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
509 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
510 "test-compile": {"status": "ok", "tookMs": 85, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
511 "test": {"status": "ok", "tookMs": 83, "passed": 0, "failed": 0, "ignored": 0, "skipped": 0, "total": 0, "byFramework": []},
512 "publish": {"status": "ok", "tookMs": 0},
513 "metadata": {
514 "crossScalaVersions": ["3.7.4"]
515}
516}]
517************************
518[success] Total time: 130 s (0:02:10.0), completed Dec 31, 2025, 10:57:46 PM
519[0JChecking patch project/plugins.sbt...
520Checking patch build.sbt...
521Applied patch project/plugins.sbt cleanly.
522Applied patch build.sbt cleanly.