diff --git a/ci/bin/main.ml b/ci/bin/main.ml index f8e51e0d841fc098b3f419ea7548abbfe34e83c0..6b015fdd1995cd1a38bd1c9d07311f60cd077e7c 100644 --- a/ci/bin/main.ml +++ b/ci/bin/main.ml @@ -130,11 +130,11 @@ let () = (** {3 Release pipelines} *) let () = - (* Matches Octez release tags, e.g. [octez-v1.2.3] or [octez-v1.2.3-rc4]. *) + (* Matches Octez release tags, e.g. [octez-v1.2] or [octez-v1.2-rc4]. *) let octez_release_tag_re = "/^octez-v\\d+\\.\\d+(?:\\-rc\\d+)?$/" in - (* Matches Octez beta release tags, e.g. [octez-v1.2.3-beta5]. *) + (* Matches Octez beta release tags, e.g. [octez-v1.2-beta5]. *) let octez_beta_release_tag_re = "/^octez-v\\d+\\.\\d+\\-beta\\d*$/" in - (* Matches Etherlink release tags, e.g. [etherlink-v1.2.3] or [etherlink-v1.2.3-rc4]. *) + (* Matches Etherlink release tags, e.g. [etherlink-v1.2] or [etherlink-v1.2-rc4]. *) let octez_evm_node_release_tag_re = "/^octez-evm-node-v\\d+\\.\\d+(?:\\-rc\\d+)?$/" in diff --git a/docs/conf.py b/docs/conf.py index 2565a12ea243dccf538e6f9482832bb28f452c14..feb22f11d9ccfde80d5a5f5ef796242193485dc2 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -236,7 +236,11 @@ texinfo_documents = [ # -- Ignore fragments in linkcheck +# Check the existence of given anchors (suffixes of the form "#label") in URLs linkcheck_anchors = False +# linkcheck_report_timeouts_as_broken = False # (default) +# linkcheck_timeout = 30 # (default) +linkcheck_retries = 2 linkcheck_ignore = [ # links which may fail for lack of access rights: r'^https://gitlab\.com/nomadic-labs/tezos/-/merge_requests/', @@ -249,9 +253,6 @@ linkcheck_ignore = [ r'^https://opentezos\.com/', r'^https://crates\.io/crates/tezos-smart-rollup', r'^https://rpc\.ghostnet\.teztnets\.com/chains/main/blocks/', - r'^https://gitlab\.com/tezos/tezos/-/merge_requests/2771', - r'^https://gitlab\.com/tezos/tezos/-/merge_requests/3225', - r'^https://gitlab\.com/tezos/tezos/-/merge_requests/3267', ] linkcheck_allowed_redirects = dict( [ diff --git a/docs/developer/install-python-debian-ubuntu.sh b/docs/developer/install-python-debian-ubuntu.sh index 1f1f8f27cd5e427353bd5c582edfad931ea11be4..6b4e8a060c616a6b5f4b667a86bdd4d4aaaf68d7 100755 --- a/docs/developer/install-python-debian-ubuntu.sh +++ b/docs/developer/install-python-debian-ubuntu.sh @@ -94,7 +94,7 @@ python install-poetry.py --version 1.8.3 --yes export PATH=$PATH:$HOME/.local/bin # [print poetry version] -poetry --version # should output 1.2.2 +poetry --version # should output 1.8.3 # [verify poetry version] [ "$(poetry --version)" = "Poetry (version 1.8.3)" ] diff --git a/docs/introduction/howtoget.rst b/docs/introduction/howtoget.rst index fb322febae2a9861ad0bf6f0ebf5fb4989d095c0..6baedc46bb7de8a69b387c9fc5d3c4e066edf87a 100644 --- a/docs/introduction/howtoget.rst +++ b/docs/introduction/howtoget.rst @@ -454,6 +454,7 @@ Setting up the development environment from scratch If you plan to contribute to the Octez codebase, the way to go is to set up a complete development environment, by cloning the repository and compiling the sources using the provided makefile. +You may either build all the executables, as illustrated below, or only a subset of the executables, as detailed in section :ref:`compile_sources`. **TL;DR**: From a fresh Debian Bookworm x86_64, you typically want to select a source branch in the Octez repository, e.g.: @@ -633,17 +634,24 @@ command instead: * As a last resort, removing the ``_opam`` folder (as part of a ``git clean -dxf`` for example) allows to restart in a fresh environment. +.. _compile_sources: + Compile ~~~~~~~ Once the dependencies are installed we can update OPAM's environment to -refer to the new switch and compile the project: +refer to the new switch and compile the project to build all the executables: .. literalinclude:: compile-sources.sh :language: shell :start-after: [compile sources] :end-before: [optional setup] +.. note:: + + Instead of the simple ``make`` command above, you may use more restrictive targets in :src:`the makefile ` to build only some subset of the executables. + For instance, you may exclude experimental executables using ``make release``; furthermore exclude executables such as the EVM node using ``make octez``; or even restrict to Layer 1 executables using ``make octez-layer1``. + Lastly, you can also add the Octez binaries to your ``PATH`` variable, and after reading the Disclaimer a few hundred times you are allowed to disable it with diff --git a/docs/releases/version-21.rst b/docs/releases/version-21.rst index c7b6fe3c492d9c2c35ec4771228e7d66de70cf81..9f8e5f59db5a7a989e57cd7b6f1ee5ef11e66495 100644 --- a/docs/releases/version-21.rst +++ b/docs/releases/version-21.rst @@ -50,7 +50,7 @@ the new safety net. Not applying round 1 -- 2 block proposals by default while creating them will allow for faster propagation and earlier consensus -agreement. See `here <../../quebeca/cli-commands.html#baker-manual>`__ +agreement. See :ref:`here ` for further details on how bakers can fine-tune this parameter. DAL node @@ -78,7 +78,16 @@ node, driven by the deployment of Etherlink Mainnet beta in May. These include: an improved UX for decentralized applications relying on the outbox of a Smart Rollup, like the Etherlink native bridge. -Please see the Changelog for further information and other optimizations. +Better logging UX +~~~~~~~~~~~~~~~~~ + +Octez v21.0 introduces several UX improvements to the :doc:`logging infrastructure <../user/logging>` including: + +- Clearer reporting of outdated nonces in baker logs +- Listing the set of delegates used by a baker at startup +- Coloured logs for most Octez binaries (including the node, baker and accuser) + +Please see the `Changelog`_ for further information and other optimizations. Update Instructions ------------------- diff --git a/src/lib_base/profiler.mli b/src/lib_base/profiler.mli index b838c7a4c148cf8a2f76228e9ccccebb78decda8..8c3c753a95b71aca89ff09cce5775b0f74e34941 100644 --- a/src/lib_base/profiler.mli +++ b/src/lib_base/profiler.mli @@ -229,7 +229,7 @@ val inc : profiler -> report -> unit ]} *) val record_f : profiler -> ?lod:lod -> string -> (unit -> 'a) -> 'a -(** Same as [record_s] but for Lwt function *) +(** Same as {!record_f} but for Lwt function *) val record_s : profiler -> ?lod:lod -> string -> (unit -> 'a Lwt.t) -> 'a Lwt.t (** [aggregate_f profiler ?lod label f] will call: @@ -240,7 +240,7 @@ val record_s : profiler -> ?lod:lod -> string -> (unit -> 'a Lwt.t) -> 'a Lwt.t ]} *) val aggregate_f : profiler -> ?lod:lod -> string -> (unit -> 'a) -> 'a -(** Same as [aggregate_f] but for Lwt functions *) +(** Same as {!aggregate_f} but for Lwt functions *) val aggregate_s : profiler -> ?lod:lod -> string -> (unit -> 'a Lwt.t) -> 'a Lwt.t @@ -248,7 +248,7 @@ val aggregate_s : specifically around [f] *) val span_f : profiler -> ?lod:lod -> string list -> (unit -> 'a) -> 'a -(** Same as [span_f] but for Lwt functions *) +(** Same as {!span_f} but for Lwt functions *) val span_s : profiler -> ?lod:lod -> string list -> (unit -> 'a Lwt.t) -> 'a Lwt.t @@ -322,7 +322,7 @@ module type GLOBAL_PROFILER = sig ]} *) val record_f : ?lod:lod -> string -> (unit -> 'a) -> 'a - (** Same as [record_f] but for Lwt function *) + (** Same as {!record_f} but for Lwt function *) val record_s : ?lod:lod -> string -> (unit -> 'a Lwt.t) -> 'a Lwt.t (** [aggregate_f ?lod label f] will call: @@ -333,18 +333,18 @@ module type GLOBAL_PROFILER = sig ]} *) val aggregate_f : ?lod:lod -> string -> (unit -> 'a) -> 'a - (** Same as [aggregate_f] but for Lwt functions *) + (** Same as {!aggregate_f} but for Lwt functions *) val aggregate_s : ?lod:lod -> string -> (unit -> 'a Lwt.t) -> 'a Lwt.t (** [span_f ?lod label_list f] will compute [span] but specifically around [f] *) val span_f : ?lod:lod -> string list -> (unit -> 'a) -> 'a - (** Same as [span_f] but for Lwt functions *) + (** Same as {!span_f} but for Lwt functions *) val span_s : ?lod:lod -> string list -> (unit -> 'a Lwt.t) -> 'a Lwt.t end -(** [wrap profiler] stores [profiler] in a [GLOBAL_PROFILER] module +(** [wrap profiler] stores [profiler] in a {!GLOBAL_PROFILER} module allowing to use the [profiler] functions without having to provide it as a parameter *) val wrap : profiler -> (module GLOBAL_PROFILER)