Build:
- 0
2026-06-20 20:21.28: New job: build pgn_parser.1.0.0 (f501dfa5075b) 2026-06-20 20:21.28: Waiting for resource in pool day11-builds 2026-06-20 20:31.14: Got resource from pool day11-builds 2026-06-20 20:31.14: [profile full] build pgn_parser.1.0.0 2026-06-20 20:31.14: build pgn_parser.1.0.0 (f501dfa5075b) === DEPENDENCIES (77 transitive) === angstrom.0.16.1 9dba91b01df8 asn1-combinators.0.3.2 48a1236afcf8 astring.0.8.5 c9b7741b1ba7 base.v0.17.3 ed6c283aa9a9 base-bytes.base ec2393fe4c6d base-threads.base b7164ff76afe base-unix.base 839dc585f12d base64.3.5.2 7d4a72292fa4 bigstringaf.0.10.0 ada01208baf7 bos.0.3.0 ff305fb27ad4 ca-certs.1.0.3 4fa3b2f4fffb cmdliner.2.1.1 c4607a09ecef cohttp.6.2.1 1b18e132ae8a cohttp-lwt.6.2.1 183617a41b05 cohttp-lwt-unix.6.2.1 4847b083853b compiler-cloning.enabled 0d2606125f88 conduit.8.0.0 e7a6e83106c1 conduit-lwt.8.0.0 5b4b69a632dd conduit-lwt-unix.8.0.0 0eb7f9cb88ca conf-gmp.5 61e3c79e0ddf conf-gmp-powm-sec.4 ceb17ad6499b conf-pkg-config.5 64c6b37d622b cppo.1.8.0 2299340fea15 csexp.1.5.2 315ecef51574 digestif.1.3.0 8774fc1fcba3 domain-name.0.5.0 e97e12c680b8 dune.3.23.1 dbfeecb5ca10 dune-configurator.3.23.1 8afe79196456 duration.0.3.1 5f56d26b47cd eqaf.0.10 13f4586b79bb fmt.0.11.0 1a2e11cf0823 fpath.0.7.3 5652a682081f gmap.0.3.0 ef83cf55aea1 http.6.2.1 a5320e20e5c0 ipaddr.5.6.2 ad5d20f2f901 ipaddr-sexp.5.6.2 5dccf4d61bd7 kdf.1.0.0 b51831574aaa logs.0.10.0 1d85b8688805 lwt.6.1.2 ed1e822009bb lwt_ppx.6.1.0 4171825824fe macaddr.5.6.2 f0cb010d836e magic-mime.1.3.1 600d31be6385 mirage-crypto.2.1.0 1f5372c422de mirage-crypto-ec.2.1.0 c74f15dfbd82 mirage-crypto-pk.2.1.0 de9a62be46d0 mirage-crypto-rng.2.1.0 c06f112a955b ocaml.5.5.0 1b4132bddf48 ocaml-base-compiler.5.5.0 1901c3a760c1 ocaml-compiler.5.5.0 5f593a0b4a8c ocaml-compiler-libs.v0.17.0 6373bfde8e91 ocaml-syntax-shims.1.0.0 ab53fc8c6e2d ocaml_intrinsics_kernel.v0.17.2 1db91ca91065 ocamlbuild.0.16.1 b485a4f69c01 ocamlfind.1.9.8 5b46f9d92bbd ocplib-endian.1.2 e43423130776 ohex.0.2.0 4fdfdb21b8e3 ounit2.2.2.7 23962b077f73 ppx_derivers.1.2.1 2a3f00c1f6d2 ppx_sexp_conv.v0.17.1 46278ff8ffcb ppxlib.0.38.0 c01fe47fa7a4 ppxlib_jane.v0.17.4 8a4c4328ddf0 ptime.1.2.0 e003e9829314 qcheck.0.91 aa8a4d0e052f qcheck-core.0.91 ec429e3dbb1f qcheck-ounit.0.91 8f32dc36f045 re.1.14.0 a474ef408490 rresult.0.7.0 673600dffe08 seq.base 1fbc0454e0be sexplib0.v0.17.0 313244870034 stdlib-shims.0.3.0 9047e6396dc4 stringext.1.6.0 2d737b0d4e97 topkg.1.1.1 8e3718e4cf5c uri.4.4.0 58822d5a1675 uri-sexp.4.4.0 47ea69436bd7 x509.1.0.6 dae6bb1e19e5 yojson.3.0.0 32381b219f5f zarith.1.14 f91322a5735e === STDOUT === Processing: [default: loading data] [pgn_parser.1.0.0: dl] [pgn_parser.1.0.0: extract] -> retrieved pgn_parser.1.0.0 (https://opam.ocaml.org/cache) [pgn_parser: dune build] + /home/opam/.opam/default/bin/dune "build" "-p" "pgn_parser" "-j" "39" "@install" (CWD=/home/opam/.opam/default/.opam-switch/build/pgn_parser.1.0.0) - (cd _build/default && /home/opam/.opam/default/bin/ocamlopt.opt -w -40 -warn-error -A -g -I lib/.lichess_api.objs/byte -I lib/.lichess_api.objs/native -I /home/opam/.opam/default/lib/angstrom -I /home/opam/.opam/default/lib/astring -I /home/opam/.opam/default/lib/base64 -I /home/opam/.opam/default/lib/bigstringaf -I /home/opam/.opam/default/lib/bytes -I /home/opam/.opam/default/lib/cohttp -I /home/opam/.opam/default/lib/cohttp-lwt -I /home/opam/.opam/default/lib/cohttp-lwt-unix -I /home/opam/.opam/default/lib/conduit -I /home/opam/.opam/default/lib/conduit-lwt -I /home/opam/.opam/default/lib/conduit-lwt-unix -I /home/opam/.opam/default/lib/domain-name -I /home/opam/.opam/default/lib/fmt -I /home/opam/.opam/default/lib/http -I /home/opam/.opam/default/lib/http/__private__/http_bytebuffer -H /home/opam/.opam/default/lib/http/__private__/http_bytebuffer/.public_cmi -I /home/opam/.opam/default/lib/ipaddr -I /home/opam/.opam/default/lib/ipaddr-sexp -I /home/opam/.opam/default/lib/ipaddr/unix -I /home/opam/.opam/default/lib/logs -I /home/opam/.opam/default/lib/logs/fmt -I /home/opam/.opam/default/lib/logs/lwt -I /home/opam/.opam/default/lib/lwt -I /home/opam/.opam/default/lib/lwt/unix -I /home/opam/.opam/default/lib/macaddr -I /home/opam/.opam/default/lib/magic-mime -I /home/opam/.opam/default/lib/ocaml/threads -I /home/opam/.opam/default/lib/ocaml/unix -I /home/opam/.opam/default/lib/ocplib-endian -I /home/opam/.opam/default/lib/ocplib-endian/bigstring -I /home/opam/.opam/default/lib/ppx_sexp_conv/runtime-lib -I /home/opam/.opam/default/lib/re -I /home/opam/.opam/default/lib/sexplib0 -I /home/opam/.opam/default/lib/stringext -I /home/opam/.opam/default/lib/uri -I /home/opam/.opam/default/lib/uri-sexp -I /home/opam/.opam/default/lib/uri/services -I /home/opam/.opam/default/lib/yojson -cmi-file lib/.lichess_api.objs/byte/lichess_api.cmi -no-alias-deps -o lib/.lichess_api.objs/native/lichess_api.cmx -c -impl lib/lichess_api.ml) - File "lib/lichess_api.ml", lines 336-339, characters 33-29: - 336 | .................................match List.assoc_opt "white" fields with - 337 | | Some (`Assoc white_fields) -> - 338 | match List.assoc_opt "name" white_fields with Some (`String s) -> s | _ -> "Unknown" - 339 | | _ -> "Unknown"... - Warning 8 [partial-match]: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - Some (`Null|`List _|`Bool _|`Float _|`Int _|`String _) - - File "lib/lichess_api.ml", lines 340-343, characters 23-29: - 340 | .......................match List.assoc_opt "black" fields with - 341 | | Some (`Assoc black_fields) -> - 342 | match List.assoc_opt "name" black_fields with Some (`String s) -> s | _ -> "Unknown" - 343 | | _ -> "Unknown"... - Warning 8 [partial-match]: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - Some (`Null|`List _|`Bool _|`Float _|`Int _|`String _) - - File "lib/lichess_api.ml", lines 346-350, characters 40-24: - 346 | ........................................match List.assoc_opt "clock" fields with - 347 | | Some (`Assoc clock_fields) -> - 348 | match List.assoc_opt "initial" clock_fields with Some (`Int i) -> Some (string_of_int i) - 349 | | _ -> None - 350 | | _ -> None... - Warning 8 [partial-match]: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - Some (`Null|`List _|`Bool _|`Float _|`Int _|`String _) - - File "lib/lichess_api.ml", lines 351-354, characters 30-24: - 351 | ..............................match List.assoc_opt "white" fields with - 352 | | Some (`Assoc white_fields) -> - 353 | match List.assoc_opt "rating" white_fields with Some (`Int i) -> Some i | _ -> None - 354 | | _ -> None... - Warning 8 [partial-match]: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - Some (`Null|`List _|`Bool _|`Float _|`Int _|`String _) - - File "lib/lichess_api.ml", lines 355-358, characters 30-24: - 355 | ..............................match List.assoc_opt "black" fields with - 356 | | Some (`Assoc black_fields) -> - 357 | match List.assoc_opt "rating" black_fields with Some (`Int i) -> Some i | _ -> None - 358 | | _ -> None... - Warning 8 [partial-match]: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - Some (`Null|`List _|`Bool _|`Float _|`Int _|`String _) - - File "lib/lichess_api.ml", lines 511-514, characters 43-23: - 511 | ...........................................match List.assoc_opt "count" fields with - 512 | | Some (`Assoc count_fields) -> - 513 | match List.assoc_opt "all" count_fields with Some (`Int i) -> i | _ -> 0 - 514 | | _ -> 0... - Warning 8 [partial-match]: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - Some (`Null|`List _|`Bool _|`Float _|`Int _|`String _) - - File "lib/lichess_api.ml", lines 516-519, characters 24-23: - 516 | ........................match List.assoc_opt "count" fields with - 517 | | Some (`Assoc count_fields) -> - 518 | match List.assoc_opt "win" count_fields with Some (`Int i) -> i | _ -> 0 - 519 | | _ -> 0... - Warning 8 [partial-match]: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - Some (`Null|`List _|`Bool _|`Float _|`Int _|`String _) - - File "lib/lichess_api.ml", lines 521-524, characters 26-23: - 521 | ..........................match List.assoc_opt "count" fields with - 522 | | Some (`Assoc count_fields) -> - 523 | match List.assoc_opt "loss" count_fields with Some (`Int i) -> i | _ -> 0 - 524 | | _ -> 0... - Warning 8 [partial-match]: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - Some (`Null|`List _|`Bool _|`Float _|`Int _|`String _) - - File "lib/lichess_api.ml", lines 526-529, characters 25-23: - 526 | .........................match List.assoc_opt "count" fields with - 527 | | Some (`Assoc count_fields) -> - 528 | match List.assoc_opt "draw" count_fields with Some (`Int i) -> i | _ -> 0 - 529 | | _ -> 0... - Warning 8 [partial-match]: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - Some (`Null|`List _|`Bool _|`Float _|`Int _|`String _) - - File "lib/lichess_api.ml", lines 535-544, characters 19-26: - 535 | ...................match List.assoc_opt "classical" perfs_fields with - 536 | | Some (`Assoc classical_fields) -> - 537 | match List.assoc_opt "games" classical_fields with Some (`Int games) -> - 538 | if games > 0 then - 539 | match List.assoc_opt "rating" classical_fields with Some (`Int rating) -> rating - 540 | | _ -> 1500 - 541 | else 1500 - 542 | | _ -> 1500 - 543 | | _ -> 1500 - 544 | | _ -> 1500... - Warning 8 [partial-match]: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - Some (`Null|`List _|`Bool _|`Float _|`Int _|`String _) - - File "lib/lichess_api.ml", lines 533-544, characters 46-26: - 533 | ..............................................match List.assoc_opt "perfs" fields with - 534 | | Some (`Assoc perfs_fields) -> - 535 | match List.assoc_opt "classical" perfs_fields with - 536 | | Some (`Assoc classical_fields) -> - 537 | match List.assoc_opt "games" classical_fields with Some (`Int games) -> - ... - 541 | else 1500 - 542 | | _ -> 1500 - 543 | | _ -> 1500 - 544 | | _ -> 1500... - Warning 8 [partial-match]: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - Some (`Null|`List _|`Bool _|`Float _|`Int _|`String _) - - File "lib/lichess_api.ml", lines 550-556, characters 25-36: - 550 | .........................match List.assoc_opt "best" classical_fields with - 551 | | Some (`Assoc best_fields) -> - 552 | match List.assoc_opt "rating" best_fields with Some (`Int rating) -> rating - 553 | | _ -> current_rating - 554 | | _ -> current_rating - 555 | | _ -> current_rating - 556 | | _ -> current_rating... - Warning 8 [partial-match]: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - Some (`Null|`List _|`Bool _|`Float _|`Int _|`String _) - - File "lib/lichess_api.ml", lines 548-556, characters 19-36: - 548 | ...................match List.assoc_opt "classical" perfs_fields with - 549 | | Some (`Assoc classical_fields) -> - 550 | match List.assoc_opt "best" classical_fields with - 551 | | Some (`Assoc best_fields) -> - 552 | match List.assoc_opt "rating" best_fields with Some (`Int rating) -> rating - 553 | | _ -> current_rating - 554 | | _ -> current_rating - 555 | | _ -> current_rating - 556 | | _ -> current_rating... - Warning 8 [partial-match]: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - Some (`Null|`List _|`Bool _|`Float _|`Int _|`String _) - - File "lib/lichess_api.ml", lines 546-556, characters 31-36: - 546 | ...............................match List.assoc_opt "perfs" fields with - 547 | | Some (`Assoc perfs_fields) -> - 548 | match List.assoc_opt "classical" perfs_fields with - 549 | | Some (`Assoc classical_fields) -> - 550 | match List.assoc_opt "best" classical_fields with - ... - 553 | | _ -> current_rating - 554 | | _ -> current_rating - 555 | | _ -> current_rating - 556 | | _ -> current_rating... - Warning 8 [partial-match]: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - Some (`Null|`List _|`Bool _|`Float _|`Int _|`String _) - - File "lib/lichess_api.ml", line 573, characters 4-5: - 573 | | _ -> - ^ - Warning 11 [redundant-case]: this match case is unused. - - File "lib/lichess_api.ml", lines 505-574, characters 2-21: - 505 | ..match Cohttp.Response.status response with - 506 | | `OK -> - 507 | try - 508 | let json = Yojson.Basic.from_string body_str in - 509 | match json with - ... - 571 | | _ -> Lwt.return_none - 572 | with _ -> Lwt.return_none - 573 | | _ -> - 574 | Lwt.return_none - Warning 8 [partial-match]: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (`Request_timeout|`Temporary_redirect|`Checkpoint|`Expectation_failed| - `Partial_content|`Client_closed_request|`Not_extended| - `Precondition_required|`Bandwidth_limit_exceeded|`Gone| - `Network_connect_timeout_error|`Code _|`Gateway_timeout| - `Wrong_exchange_server|`Retry_with|`Unprocessable_entity|`Accepted| - `Failed_dependency|`Permanent_redirect|`I_m_a_teapot|`Found| - `Moved_permanently|`Requested_range_not_satisfiable|`Unauthorized| - `Precondition_failed|`See_other|`Locked|`No_response|`Continue| - `Loop_detected|`Insufficient_storage|`Non_authoritative_information| - `Too_many_requests|`Request_entity_too_large|`Multiple_choices| - `Method_not_allowed|`Proxy_authentication_required| - `Network_authentication_required|`Conflict|`Network_read_timeout_error| - `Bad_request|`Not_acceptable|`Switch_proxy|`Length_required| - `Reset_content|`Im_used|`Already_reported|`Not_found|`Not_modified| - `Use_proxy|`Forbidden|`Unsupported_media_type|`Not_implemented| - `No_content|`Created|`Variant_also_negotiates|`Payment_required| - `Internal_server_error|`Service_unavailable|`Enhance_your_calm| - `Processing|`Upgrade_required|`Multi_status|`Bad_gateway| - `Http_version_not_supported|`Switching_protocols|`Request_uri_too_long| - `Blocked_by_windows_parental_controls|`Request_header_fields_too_large) - - File "lib/lichess_api.ml", line 339, characters 15-16: - 339 | | _ -> "Unknown" in - ^ - Warning 11 [redundant-case]: this match case is unused. - - File "lib/lichess_api.ml", line 343, characters 15-16: - 343 | | _ -> "Unknown" in - ^ - Warning 11 [redundant-case]: this match case is unused. - - File "lib/lichess_api.ml", line 350, characters 15-16: - 350 | | _ -> None in - ^ - Warning 11 [redundant-case]: this match case is unused. - - File "lib/lichess_api.ml", line 354, characters 15-16: - 354 | | _ -> None in - ^ - Warning 11 [redundant-case]: this match case is unused. - - File "lib/lichess_api.ml", line 358, characters 15-16: - 358 | | _ -> None in - ^ - Warning 11 [redundant-case]: this match case is unused. - - File "lib/lichess_api.ml", line 514, characters 17-18: - 514 | | _ -> 0 in - ^ - Warning 11 [redundant-case]: this match case is unused. - - File "lib/lichess_api.ml", line 519, characters 17-18: - 519 | | _ -> 0 in - ^ - Warning 11 [redundant-case]: this match case is unused. - - File "lib/lichess_api.ml", line 524, characters 17-18: - 524 | | _ -> 0 in - ^ - Warning 11 [redundant-case]: this match case is unused. - - File "lib/lichess_api.ml", line 529, characters 17-18: - 529 | | _ -> 0 in - ^ - Warning 11 [redundant-case]: this match case is unused. - - File "lib/lichess_api.ml", line 543, characters 23-24: - 543 | | _ -> 1500 - ^ - Warning 11 [redundant-case]: this match case is unused. - - File "lib/lichess_api.ml", line 544, characters 17-18: - 544 | | _ -> 1500 in - ^ - Warning 11 [redundant-case]: this match case is unused. - - File "lib/lichess_api.ml", line 554, characters 29-30: - 554 | | _ -> current_rating - ^ - Warning 11 [redundant-case]: this match case is unused. - - File "lib/lichess_api.ml", line 555, characters 23-24: - 555 | | _ -> current_rating - ^ - Warning 11 [redundant-case]: this match case is unused. - - File "lib/lichess_api.ml", line 556, characters 17-18: - 556 | | _ -> current_rating in - ^ - Warning 11 [redundant-case]: this match case is unused. -> compiled pgn_parser.1.0.0 -> installed pgn_parser.1.0.0 [WARNING] Opam package conf-pkg-config.5 depends on the following system package that can no longer be found: pkg-config === STDERR === 2026-06-20 20:31.54: OK: build pgn_parser.1.0.0 (runc: 2.6s, disk: 28KB) 2026-06-20 20:31.54: Job succeeded