Build:
  1. 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