From 82434d8b702bde06d83e40286a912ed0d36a03b3 Mon Sep 17 00:00:00 2001 From: Hannes Mehnert Date: Tue, 12 May 2020 19:20:54 +0200 Subject: [PATCH 1/4] adapt to API changes of mirage-conduit (dns resolver now has a timeout) --- dune-project | 3 ++- pgx_lwt_mirage.opam | 3 ++- pgx_lwt_mirage/src/dune | 2 +- pgx_lwt_mirage/src/pgx_lwt_mirage.ml | 3 ++- pgx_lwt_mirage/src/pgx_lwt_mirage.mli | 1 + 5 files changed, 8 insertions(+), 4 deletions(-) diff --git a/dune-project b/dune-project index ac36a07..6b3dbe2 100644 --- a/dune-project +++ b/dune-project @@ -152,9 +152,10 @@ (>= 4.08)) logs mirage-channel - conduit-mirage + (conduit-mirage (>= 2.2.0)) dns-client mirage-random + mirage-time mirage-clock mirage-stack (pgx diff --git a/pgx_lwt_mirage.opam b/pgx_lwt_mirage.opam index f41a43a..353f6ff 100644 --- a/pgx_lwt_mirage.opam +++ b/pgx_lwt_mirage.opam @@ -14,9 +14,10 @@ depends: [ "ocaml" {>= "4.08"} "logs" "mirage-channel" - "conduit-mirage" + "conduit-mirage" {>= "2.2.0"} "dns-client" "mirage-random" + "mirage-time" "mirage-clock" "mirage-stack" "pgx" {= version} diff --git a/pgx_lwt_mirage/src/dune b/pgx_lwt_mirage/src/dune index 4ea7288..af51bf5 100644 --- a/pgx_lwt_mirage/src/dune +++ b/pgx_lwt_mirage/src/dune @@ -10,6 +10,6 @@ let () = Jbuild_plugin.V1.send @@ {| (library (public_name pgx_lwt_mirage) - (libraries pgx_lwt lwt logs.lwt pgx mirage-channel conduit-mirage dns-client mirage-random mirage-clock mirage-stack) + (libraries pgx_lwt lwt logs.lwt pgx mirage-channel conduit-mirage dns-client mirage-random mirage-time mirage-clock mirage-stack) |} ^ preprocess ^ {|) |} diff --git a/pgx_lwt_mirage/src/pgx_lwt_mirage.ml b/pgx_lwt_mirage/src/pgx_lwt_mirage.ml index 48ea3f0..e054ef6 100644 --- a/pgx_lwt_mirage/src/pgx_lwt_mirage.ml +++ b/pgx_lwt_mirage/src/pgx_lwt_mirage.ml @@ -80,10 +80,11 @@ end module Make (RANDOM : Mirage_random.S) + (TIME : Mirage_time.S) (MCLOCK : Mirage_clock.MCLOCK) (STACK : Mirage_stack.V4) = struct - module Dns = Dns_client_mirage.Make (RANDOM) (MCLOCK) (STACK) + module Dns = Dns_client_mirage.Make (RANDOM) (TIME) (MCLOCK) (STACK) type sockaddr = Thread.sockaddr = | Unix of string diff --git a/pgx_lwt_mirage/src/pgx_lwt_mirage.mli b/pgx_lwt_mirage/src/pgx_lwt_mirage.mli index 6239b83..70feb44 100644 --- a/pgx_lwt_mirage/src/pgx_lwt_mirage.mli +++ b/pgx_lwt_mirage/src/pgx_lwt_mirage.mli @@ -19,6 +19,7 @@ module Make (RANDOM : Mirage_random.S) + (TIME : Mirage_time.S) (CLOCK : Mirage_clock.MCLOCK) (STACK : Mirage_stack.V4) : sig val connect : STACK.t -> (module Pgx_lwt.S) From 9b8850e10aacb865350224d27c25c31abb6c4244 Mon Sep 17 00:00:00 2001 From: Hannes Mehnert Date: Tue, 12 May 2020 19:29:57 +0200 Subject: [PATCH 2/4] adapt example unikernel to Pgx_mirage change --- unikernel/config.ml | 4 ++-- unikernel/unikernel.ml | 5 +++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/unikernel/config.ml b/unikernel/config.ml index d24f800..655ad9f 100644 --- a/unikernel/config.ml +++ b/unikernel/config.ml @@ -47,11 +47,11 @@ let server = ; Key.abstract database ] ~packages - (random @-> pclock @-> mclock @-> stackv4 @-> job) + (random @-> time @-> pclock @-> mclock @-> stackv4 @-> job) ;; let () = register "pgx_unikernel" - [ server $ default_random $ default_posix_clock $ default_monotonic_clock $ stack ] + [ server $ default_random $ default_time $ default_posix_clock $ default_monotonic_clock $ stack ] ;; diff --git a/unikernel/unikernel.ml b/unikernel/unikernel.ml index 7766958..f462a82 100644 --- a/unikernel/unikernel.ml +++ b/unikernel/unikernel.ml @@ -2,11 +2,12 @@ open Lwt.Infix module Make (RANDOM : Mirage_random.S) + (TIME : Mirage_time.S) (PCLOCK : Mirage_clock.PCLOCK) (MCLOCK : Mirage_clock.MCLOCK) (STACK : Mirage_stack.V4) = struct - module Pgx_mirage = Pgx_lwt_mirage.Make (RANDOM) (MCLOCK) (STACK) + module Pgx_mirage = Pgx_lwt_mirage.Make (RANDOM) (TIME) (MCLOCK) (STACK) module Logs_reporter = Mirage_logs.Make (PCLOCK) type user = @@ -58,7 +59,7 @@ struct users ;; - let start _random _pclock _mclock stack = + let start _random _time _pclock _mclock stack = Logs.(set_level (Some Info)); Logs_reporter.(create () |> run) @@ fun () -> From eba6b2ec30abb6aca0eee0dffb63d3aa4a643def Mon Sep 17 00:00:00 2001 From: Anurag Soni Date: Wed, 20 May 2020 13:34:50 -0400 Subject: [PATCH 3/4] run ocamlformat --- unikernel/config.ml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/unikernel/config.ml b/unikernel/config.ml index 655ad9f..1d69ba5 100644 --- a/unikernel/config.ml +++ b/unikernel/config.ml @@ -53,5 +53,11 @@ let server = let () = register "pgx_unikernel" - [ server $ default_random $ default_time $ default_posix_clock $ default_monotonic_clock $ stack ] + [ server + $ default_random + $ default_time + $ default_posix_clock + $ default_monotonic_clock + $ stack + ] ;; From 88fff78876b11d69d5934fe1d9bf3765e1ffeb17 Mon Sep 17 00:00:00 2001 From: Anurag Soni Date: Wed, 20 May 2020 15:16:19 -0400 Subject: [PATCH 4/4] skip coveralls if token isn't set --- .circleci/config.yml | 6 +++++- Makefile | 3 +++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index ebf8c32..27acedf 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -39,7 +39,11 @@ jobs: command: opam install --deps-only -t -y `basename -s .opam *.opam | tr '\n' ' '` - run: name: Test and coverage report - command: opam exec -- make coverage + command: | + coverage_set () [[ -n $COVERALLS_REPO_TOKEN ]] + opam exec -- make test-coverage + (coverage_set && opam exec -- bisect-ppx-report send-to Coveralls) || true + dune_lint: docker: diff --git a/Makefile b/Makefile index 9643799..78223f0 100644 --- a/Makefile +++ b/Makefile @@ -15,4 +15,7 @@ coverage: clean test: @dune runtest --force -p $(PACKAGES) +test-coverage: + @BISECT_ENABLE=yes dune runtest -p $(PACKAGES) + .PHONY: all build clean coverage test