Build Logs
scalacenter/course-management-tools • 3.8.0-RC4:2025-12-22
Errors
0
Warnings
51
Total Lines
331
1##################################
2Clonning https://github.com/scalacenter/course-management-tools.git into /build/repo using revision 2.0.22
3##################################
4Note: switching to 'abf583983225430a5d78b33ad003e5f7903676d7'.
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-RC4
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-RC4
32Execute tests: true
33sbt project found:
34Sbt version 1.9.6 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 scalacenter/course-management-tools
37##################################
38Scala version: 3.8.0-RC4
39Targets: ch.epfl.scala%cmt-core ch.epfl.scala%cmta ch.epfl.scala%cmtc
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-Drun.mode=DEV
51-Dcommunitybuild.scala=3.8.0-RC4
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_17_0_8
58-jar
59/root/.sdkman/candidates/sbt/1.11.5/bin/sbt-launch.jar
60"setCrossScalaVersions 3.8.0-RC4"
61"++3.8.0-RC4 -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-RC4 """{"projects":{"exclude":[],"overrides":{}},"java":{"version":"17"},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"full","migrationVersions":[],"sourcePatches":[]}""" ch.epfl.scala%cmt-core ch.epfl.scala%cmta ch.epfl.scala%cmtc"
69
70[info] welcome to sbt 1.11.5 (Eclipse Adoptium Java 17.0.8)
71[info] loading project definition from /build/repo/project/project
72[info] loading settings for project repo-build from akka.sbt, plugins.sbt...
73[info] loading project definition from /build/repo/project
74[info] compiling 4 Scala sources to /build/repo/project/target/scala-2.12/sbt-1.0/classes ...
75[info] Non-compiled module 'compiler-bridge_2.12' for Scala 2.12.20. Compiling...
76[info] Compilation completed in 8.724s.
77[info] done compiling
78[info] loading settings for project course-management-tools from build.sbt...
79[info] set current project to course-management-tools (in build file:/build/repo/)
80[warn] there are 7 keys that are not used by any other settings/tasks:
81[warn]
82[warn] * cmt-core / buildInfoPackage
83[warn] +- /build/repo/project/Build.scala:30
84[warn] * cmta / nativeImageJvm
85[warn] +- /build/repo/project/Build.scala:38
86[warn] * cmta / nativeImageVersion
87[warn] +- /build/repo/project/Build.scala:39
88[warn] * cmtc / nativeImageJvm
89[warn] +- /build/repo/project/Build.scala:38
90[warn] * cmtc / nativeImageVersion
91[warn] +- /build/repo/project/Build.scala:39
92[warn] * course-management-tools / buildInfoPackage
93[warn] +- /build/repo/project/Build.scala:30
94[warn] * functional-tests / buildInfoPackage
95[warn] +- /build/repo/project/Build.scala:30
96[warn]
97[warn] note: a setting might still be used by a command; to exclude a key from this `lintUnused` check
98[warn] either append it to `Global / excludeLintKeys` or call .withRank(KeyRanks.Invisible) on the key
99Execute setCrossScalaVersions: 3.8.0-RC4
100OpenCB::Changing crossVersion 3.3.1 -> 3.8.0-RC4 in cmt-core/crossScalaVersions
101OpenCB::Changing crossVersion 3.3.1 -> 3.8.0-RC4 in course-management-tools/crossScalaVersions
102OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.0-RC4) in cmt-core/crossScalaVersions
103OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.0-RC4) in course-management-tools/crossScalaVersions
104OpenCB::Changing crossVersion 3.3.1 -> 3.8.0-RC4 in cmta/crossScalaVersions
105OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.0-RC4) in cmta/crossScalaVersions
106OpenCB::Changing crossVersion 3.3.1 -> 3.8.0-RC4 in functional-tests/crossScalaVersions
107OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.0-RC4) in functional-tests/crossScalaVersions
108OpenCB::Changing crossVersion 3.3.1 -> 3.8.0-RC4 in cmtc/crossScalaVersions
109OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.0-RC4) in cmtc/crossScalaVersions
110[info] set current project to course-management-tools (in build file:/build/repo/)
111[info] Setting Scala version to 3.8.0-RC4 on 5 projects.
112[info] Switching Scala version on:
113[info] cmt-core (3.8.0-RC4)
114[info] cmtc (3.8.0-RC4)
115[info] functional-tests (3.8.0-RC4)
116[info] * course-management-tools (3.8.0-RC4)
117[info] cmta (3.8.0-RC4)
118[info] Excluding projects:
119[info] docs (2.12.20)
120[info] Reapplying settings...
121[info] set current project to course-management-tools (in build file:/build/repo/)
122Execute mapScalacOptions: ,REQUIRE:-source:3.8,-Wconf:msg=can be rewritten automatically under:s ,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
123[info] Reapplying settings...
124[info] set current project to course-management-tools (in build file:/build/repo/)
125[info] Defining Global / credentials, cmt-core / credentials and 4 others.
126[info] The new values will be used by Compile / scalafmtOnly, Global / pgpSelectPassphrase and 47 others.
127[info] Run `last` for details.
128[info] Reapplying settings...
129[info] set current project to course-management-tools (in build file:/build/repo/)
130Execute excludeLibraryDependency: com.github.ghik:zerowaste_{scalaVersion} com.olegpy:better-monadic-for_3 org.polyvariant:better-tostring_{scalaVersion} org.wartremover:wartremover_{scalaVersion}
131[info] Reapplying settings...
132OpenCB::Failed to reapply settings in excludeLibraryDependency: Reference to undefined setting:
133
134 Global / allExcludeDependencies from Global / allExcludeDependencies (CommunityBuildPlugin.scala:331)
135 Did you mean cmt-core / allExcludeDependencies ?
136 , retry without global scopes
137[info] Reapplying settings...
138[info] set current project to course-management-tools (in build file:/build/repo/)
139Execute removeScalacOptionsStartingWith: -P:wartremover
140[info] Reapplying settings...
141[info] set current project to course-management-tools (in build file:/build/repo/)
142[success] Total time: 0 s, completed Dec 22, 2025, 6:30:38 PM
143Build config: {"projects":{"exclude":[],"overrides":{}},"java":{"version":"17"},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"full","migrationVersions":[],"sourcePatches":[]}
144Parsed config: Success(ProjectBuildConfig(ProjectsConfig(List(),Map()),Full,List()))
145Starting build...
146Projects: Set(cmt-core, cmta, cmtc)
147Starting build for ProjectRef(file:/build/repo/,cmt-core) (cmt-core)... [0/3]
148OpenCB::Exclude Scala3 specific scalacOption `REQUIRE:-source:3.8` in Scala 2.12.20 module Global
149OpenCB::Filter out '-source:future', matches setting pattern '^-?-source(:.*)?'
150OpenCB::Filter out '-deprecation', matches setting pattern '^-?-deprecation'
151Compile scalacOptions: -Wunused:imports, -Wunused:locals, -Wunused:privates, -Wunused:explicits, -Wunused:implicits, -Wunused:params, -Wvalue-discard, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
152[info] compiling 21 Scala sources to /build/repo/cmt-core/target/scala-3.8.0-RC4/classes ...
153[info] done compiling
154[info] compiling 7 Scala sources to /build/repo/cmt-core/target/scala-3.8.0-RC4/test-classes ...
155[info] done compiling
156[info] CmtCommandSpec:
157[info] enforceNoTrailingArguments
158[info] - when there are trailing arguments
159[info] InstallSpec:
160[info] github4s
161[info] - should install from github (pending)
162[info] - should install from zip file (pending)
163[info] - should install from local directory (pending)
164[info] ConfigurationSpec:
165[info] load
166the CMT_COURSES_HOME directory at '/root/.cache/cmt/Courses' does not exist, creating it
167the CMT_HOME directory at '/root/.config/cmt' does not exist, creating it
168global configuration file is missing from '/root/.config/cmt/coursemgmt.conf' creating it with default values
169[info] - should create the default configuration in the appropriate home directory
170[info] ExtractUniquePathsSpec:
171[info] extractUniquePaths
172[info] when given a series of paths that don't share any common prefix
173[info] - should return no redundant paths
174[info] when given a series of paths where some share a common prefix
175[info] - should return redundant paths
176Starting build for ProjectRef(file:/build/repo/,cmta) (cmta)... [1/3]
177Compile scalacOptions: -Wunused:imports, -Wunused:locals, -Wunused:privates, -Wunused:explicits, -Wunused:implicits, -Wunused:params, -Wvalue-discard, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
178[info] compiling 14 Scala sources to /build/repo/cmta/target/scala-3.8.0-RC4/classes ...
179[warn] -- [E198] Unused Symbol Warning: /build/repo/cmta/src/main/scala/coursemgmt/admin/command/New.scala:73:12
180[warn] 73 | val tag = githubProject.tag
181[warn] | ^^^
182[warn] | unused local definition
183[warn] one warning found
184[info] done compiling
185[info] compiling 9 Scala sources to /build/repo/cmta/target/scala-3.8.0-RC4/test-classes ...
186[warn] -- [E198] Unused Symbol Warning: /build/repo/cmta/src/test/scala/coursemgmt/RenumberExercisesSpec.scala:21:37
187[warn] 21 |import org.scalatest.matchers.should.Matchers
188[warn] | ^^^^^^^^
189[warn] | unused import
190[warn] -- [E198] Unused Symbol Warning: /build/repo/cmta/src/test/scala/coursemgmt/admin/cli/CommandLineArgumentsSpec.scala:11:33
191[warn] 11 |import org.scalatest.prop.Tables.Table
192[warn] | ^^^^^
193[warn] | unused import
194[warn] two warnings found
195[info] done compiling
196[info] RenumberExercisesSpec:
197[info] RenumberExercises
198[info] when given a renumbering
199[info] - should succeed if exercises are moved to a new offset and renumber step values
200[info] - should succeed and return the original exercise set when using the default offset and renumber step alues
201[info] - should succeed if exercises are moved to offset 0 and the first exercise to renumber is the first one in the exercise series
202[info] - should succeed and leave the first exercise number unchanged and create a gap between the first and second exercise
203[info] - should succeed when renumbering moves exercises to the end of the available exercise number space
204[info] - should fail when renumbering would move outside the available exercise number space and leave the exercise name unchanged
205[info] - should succeed when moving exercises up to a range that overlaps with the current one
206[info] - should succeed when moving exercises down to a range that overlaps with the current one
207[info] - should succeed and return a series of exercises numbered starting at 1 when renumbering with default args
208[info] - should fail and leave the exercise numbers unchanged when default renumbering is applied again
209[info] - should fail when trying to renumber a range of exercises that would clash with other exercises
210[info] - should fail when trying to renumber an exercise if it would move into a gap in the numbering
211[info] when given any renumbering in a fully packed exercise numbering space
212[info] - should fail when trying to shift all exercises one position downwards and leave the exercise name unchanged
213[info] - should fail when trying to move the second to last exercise on position downwards and leave the exercise name unchanged
214[info] - should fail when trying to insert holes in the numbering and leave the exercise name unchanged
215[info] DuplicateInsertBeforeArgumentsSpec:
216[info] CLI Parser
217[info] when given invalid null arguments
218fatal: not a git repository (or any of the parent directories): .git
219[info] - should report appropriate errors
220[info] when given valid null arguments
221[info] - should return expected results
222[info] RenumberArgumentsSpec:
223[info] CLI Parser
224[info] when given invalid null arguments
225[info] - should report appropriate errors
226[info] when given valid null arguments
227[info] - should return expected results
228[info] LinearizeArgumentsSpec:
229[info] CLI Parser
230[info] when given invalid null arguments
231fatal: not a git repository (or any of the parent directories): .git
232[info] - should report appropriate errors
233[info] when given valid null arguments
234[info] - should return expected results
235[info] DelinearizeArgumentsSpec:
236[info] CLI Parser
237[info] when given invalid null arguments
238fatal: not a git repository (or any of the parent directories): .git
239[info] - should report appropriate errors
240[info] when given valid null arguments
241[info] - should return expected results
242[info] StudentifyArgumentsSpec:
243[info] CLI Parser
244[info] when given invalid null arguments
245fatal: not a git repository (or any of the parent directories): .git
246[info] - should report appropriate errors
247[info] when given valid null arguments
248[info] - should return expected results
249Starting build for ProjectRef(file:/build/repo/,cmtc) (cmtc)... [2/3]
250Compile scalacOptions: -Wunused:imports, -Wunused:locals, -Wunused:privates, -Wunused:explicits, -Wunused:implicits, -Wunused:params, -Wvalue-discard, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
251[info] compiling 18 Scala sources to /build/repo/cmtc/target/scala-3.8.0-RC4/classes ...
252[warn] -- [E198] Unused Symbol Warning: /build/repo/cmtc/src/main/scala/coursemgmt/client/command/Install.scala:141:85
253[warn] 141 | tags <- getProjectTags("git@github.com:", githubProject).recoverWith(g_ =>
254[warn] | ^^
255[warn] | unused explicit parameter
256[warn] -- [E198] Unused Symbol Warning: /build/repo/cmtc/src/main/scala/coursemgmt/client/command/RestoreState.scala:49:90
257[warn] 49 | Helpers.withZipFile(config.studentifiedSavedStatesFolder, exercise.value) { solution =>
258[warn] | ^^^^^^^^
259[warn] | unused explicit parameter
260[warn] -- [E198] Unused Symbol Warning: /build/repo/cmtc/src/main/scala/coursemgmt/client/command/SetCurrentCourse.scala:13:21
261[warn] 13 |import sbt.io.syntax.*
262[warn] | ^
263[warn] | unused import
264[warn] three warnings found
265[info] done compiling
266[info] compiling 14 Scala sources to /build/repo/cmtc/target/scala-3.8.0-RC4/test-classes ...
267[warn] -- [E198] Unused Symbol Warning: /build/repo/cmtc/src/test/scala/coursemgmt/client/cli/CommandLineArgumentsSpec.scala:24:33
268[warn] 24 |import org.scalatest.prop.Tables.Table
269[warn] | ^^^^^
270[warn] | unused import
271[warn] one warning found
272[info] done compiling
273[info] InstallArgumentsSpec:
274[info] CLI Parser
275[info] when given invalid null arguments
276[info] - should report appropriate errors
277[info] when given valid null arguments
278[info] - should return expected results
279[info] SetCurrentCourseSpec:
280[info] set-current-course
281[info] when given a studentified directory
282global configuration file is missing from '/root/.config/cmt/coursemgmt.conf' creating it with default values
283[info] - should write the global configuration with the updated `current-course` value
284[info] GotoExerciseArgumentsSpec:
285[info] CLI Parser
286[info] when given invalid null arguments
287[info] - should report appropriate errors
288[info] when given valid null arguments
289[info] - should return expected results
290
291************************
292Build summary:
293[{
294 "module": "cmt-core",
295 "compile": {"status": "ok", "tookMs": 12637, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
296 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
297 "test-compile": {"status": "ok", "tookMs": 3528, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
298 "test": {"status": "ok", "tookMs": 768, "passed": 4, "failed": 0, "ignored": 0, "skipped": 0, "total": 4, "byFramework": [{"framework": "unknown", "stats": {"passed": 4, "failed": 0, "ignored": 0, "skipped": 0, "total": 4}}]},
299 "publish": {"status": "skipped", "tookMs": 0},
300 "metadata": {
301 "crossScalaVersions": ["2.12.20"]
302}
303},{
304 "module": "cmta",
305 "compile": {"status": "ok", "tookMs": 4299, "warnings": 1, "errors": 0, "sourceVersion": "3.8"},
306 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
307 "test-compile": {"status": "ok", "tookMs": 3483, "warnings": 2, "errors": 0, "sourceVersion": "3.8"},
308 "test": {"status": "ok", "tookMs": 1626, "passed": 25, "failed": 0, "ignored": 0, "skipped": 0, "total": 25, "byFramework": [{"framework": "unknown", "stats": {"passed": 25, "failed": 0, "ignored": 0, "skipped": 0, "total": 25}}]},
309 "publish": {"status": "skipped", "tookMs": 0},
310 "metadata": {
311 "crossScalaVersions": ["2.12.20"]
312}
313},{
314 "module": "cmtc",
315 "compile": {"status": "ok", "tookMs": 3061, "warnings": 3, "errors": 0, "sourceVersion": "3.8"},
316 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
317 "test-compile": {"status": "ok", "tookMs": 1763, "warnings": 1, "errors": 0, "sourceVersion": "3.8"},
318 "test": {"status": "ok", "tookMs": 692, "passed": 5, "failed": 0, "ignored": 0, "skipped": 0, "total": 5, "byFramework": [{"framework": "unknown", "stats": {"passed": 5, "failed": 0, "ignored": 0, "skipped": 0, "total": 5}}]},
319 "publish": {"status": "skipped", "tookMs": 0},
320 "metadata": {
321 "crossScalaVersions": ["2.12.20"]
322}
323}]
324************************
325[success] Total time: 70 s (0:01:10.0), completed Dec 22, 2025, 6:31:48 PM
326[0JChecking patch project/plugins.sbt...
327Checking patch project/build.properties...
328Checking patch build.sbt...
329Applied patch project/plugins.sbt cleanly.
330Applied patch project/build.properties cleanly.
331Applied patch build.sbt cleanly.