[go: up one dir, main page]

Draft: Edo Freeze

This MR freeze edo, and refactor the code of lib_client_commands to propose a new way to structure this library in order to make the freeze process easier and less error prone.

Related issue : #1411 (closed)


Freeze TODO

After each protocol activation, old protocol are kept frozen in the codebase. However large part of the code developed for an old protocol can now be removed to avoid accumulating dead code in th repository. This code is composed by all daemons, tests associated to and old protocol, and RW commands available to the client.

In this document we will refer as protocol to the protocol that we want to freeze, say 008 and current protocol as the next protocol (009)

Remove accuser,baker,endorser

All these three daemons are no longer needed. The code can be safely removed and the Makefile should be modified accordingly.

Remove protocol tests

All tests developed for the protocol can be removed.

These are defined in

  • lib_client/test
  • lib_protocol/test
  • tests_python/tests_XXX

All opam tests should be removed from .gitlab/ci/opam.yml using the script scripts/update_opam_test.sh .

All integration tests should be removed from .gitlab/ci/integration.yml using the script scripts/update_integration_test.sh

Remove lib_delegate

This code is no longer needed and can be safely removed.

Remove protocol tests from tezt

The code of Tezt must be updated by hand removing the protocol from the type Protocol.t and adapting the test accordingly.

Remove testnets from tezos-docker-manager.sh

Mention of the protocol testnest should be removed from the script tezos-docker-manager.sh.

Remove remove testnest from bin_node

Mention of the protocol testnest should be removed from node binary code. In particular the file src/bin_node/node_config_file.ml should be amended.

The protocol registration plugin module should be removed from src/bin_node/tezos-node.opam

Remove protocol from the current protocol python tests

The code for the tests test_voting_full.py and test_migration.py from the current protocol should be removed. Any mention of the protocol in tests_python/tests_XXX/protocol.py should also be removed.

These changes remove the migration testing code of the current protocol that is no longer necessary to test.

Integration tests should be amended accordingly.

Remove all the RW commands from lib_client_commands

The module lib_client_commands defines RO and RW commands. The RW commands can be now safely removed as no longer needed.

Edited by pietro

Merge request reports

Loading