diff --git a/.gitignore b/.gitignore index fe6c65fbce7975b176fb0955ecdd7ee6b51fd20f..4b354bcd6e375d0383ca2e7eedfed6a1500ca70c 100644 --- a/.gitignore +++ b/.gitignore @@ -62,6 +62,7 @@ __pycache__ /safety-checker /octez-teztale-archiver /octez-teztale-server +/octez-proto-manager /src/riscv/riscv-sandbox* /src/riscv/riscv-dummy.elf diff --git a/dune-project b/dune-project index 3ba41d0c5e7fea1f5256b96631c76795dc526618..855b322f28cbaee0b6f562ed88c8fced4cb2e656 100644 --- a/dune-project +++ b/dune-project @@ -37,6 +37,7 @@ (package (name octez-node)) (package (name octez-node-config)) (package (name octez-proto-libs)) +(package (name octez-proto-manager)) (package (name octez-protocol-000-Ps9mPmXa-libs)) (package (name octez-protocol-001-PtCJ7pwo-libs)) (package (name octez-protocol-002-PsYLVpVv-libs)) diff --git a/manifest/product_octez.ml b/manifest/product_octez.ml index e866ffd4056dee8e1c11afd92f7b5ff9f8107064..1b7bbf4f711987ad9e1bf6638520ede4d2dd90d5 100644 --- a/manifest/product_octez.ml +++ b/manifest/product_octez.ml @@ -4312,6 +4312,14 @@ let _octogram_bin = yaml; ] +let _octez_proto_manager = + public_exe + "octez-proto-manager" + ~path:"src/bin_proto_manager" + ~internal_name:"main" + ~synopsis:"Tezos protocol manager" + ~deps:[unix; cmdliner; octez_version_value] + let octez_openapi = public_lib "tezos-openapi" diff --git a/opam/octez-proto-manager.opam b/opam/octez-proto-manager.opam new file mode 100644 index 0000000000000000000000000000000000000000..6f812e3d670209bd6dd81e94cc898f24d3b2601f --- /dev/null +++ b/opam/octez-proto-manager.opam @@ -0,0 +1,22 @@ +# This file was automatically generated, do not edit. +# Edit file manifest/main.ml instead. +opam-version: "2.0" +maintainer: "contact@tezos.com" +authors: ["Tezos devteam"] +homepage: "https://www.tezos.com/" +bug-reports: "https://gitlab.com/tezos/tezos/issues" +dev-repo: "git+https://gitlab.com/tezos/tezos.git" +license: "MIT" +depends: [ + "dune" { >= "3.11.1" } + "ocaml" { >= "4.14" } + "base-unix" + "cmdliner" { >= "1.1.0" } + "octez-version" { = version } +] +build: [ + ["rm" "-r" "vendors" "contrib"] + ["dune" "build" "-p" name "-j" jobs] + ["dune" "runtest" "-p" name "-j" jobs] {with-test} +] +synopsis: "Tezos protocol manager" diff --git a/script-inputs/dev-executables b/script-inputs/dev-executables index 809b24b55955a758341589d474870425e00e5940..a8c548b8832cf3553c6f1cd1a383856dba9683d9 100644 --- a/script-inputs/dev-executables +++ b/script-inputs/dev-executables @@ -1,2 +1,3 @@ octez-protocol-compiler octez-snoop +octez-proto-manager diff --git a/src/bin_proto_manager/dune b/src/bin_proto_manager/dune new file mode 100644 index 0000000000000000000000000000000000000000..9f05e7a7a32fdf3a4b952ee4715e40108015d9ff --- /dev/null +++ b/src/bin_proto_manager/dune @@ -0,0 +1,15 @@ +; This file was automatically generated, do not edit. +; Edit file manifest/main.ml instead. + +(executable + (name main) + (public_name octez-proto-manager) + (package octez-proto-manager) + (instrumentation (backend bisect_ppx)) + (libraries + unix + cmdliner + octez-version.value) + (link_flags + (:standard) + (:include %{workspace_root}/static-link-flags.sexp))) diff --git a/src/bin_proto_manager/main.ml b/src/bin_proto_manager/main.ml new file mode 100644 index 0000000000000000000000000000000000000000..95f429e2ec30d0e541b9368abd3f0addd193f521 --- /dev/null +++ b/src/bin_proto_manager/main.ml @@ -0,0 +1,27 @@ +(*****************************************************************************) +(* *) +(* SPDX-License-Identifier: MIT *) +(* SPDX-FileCopyrightText: 2024 Nomadic Labs *) +(* *) +(*****************************************************************************) + +open Cmdliner + +let wip () = Format.printf "This application is under development@." + +let wip_t = Term.(const wip $ const ()) + +let cmd = + let doc = + "help to automatize most of the process involved in the new \ + stabilisation/release of protocol amendments" + in + let info = + Cmd.info + "octez-proto-manager" + ~version:Tezos_version_value.Bin_version.octez_version_string + ~doc + in + Cmd.v info wip_t + +let () = exit (Cmd.eval cmd) diff --git a/tezt/lib_tezos/constant.ml b/tezt/lib_tezos/constant.ml index 1680e93efc2f9370aeb9bd6616e91c548a562048..9c4425d73cb2c7fd4a883b412aa46065c600cec3 100644 --- a/tezt/lib_tezos/constant.ml +++ b/tezt/lib_tezos/constant.ml @@ -135,6 +135,9 @@ module WASM = struct Uses.make ~tag:"tx_kernel_dal" ~path:"tx_kernel_dal.wasm" () end +let _octez_proto_manager = + Uses.make ~tag:"proto_manager" ~path:"./octez-proto-manager" + (* TODO: tezos/tezos#4803 Can we do better than to depend on script-inputs? *)