Upgrade substrate to polkadot-v0.9.32
Closes #96 (closed)
Update from polkadot v0.9.26 to v0.9.32. Add an upgrade guide in docs.
This leaves the weight files in a dirty state (so they compile, but the weights may not be accurate). They should be regenerated by benchmarking.
There is also a TODO
for fixing a regression about try-runtime
.
Merge request reports
Activity
added RN-binary RN-runtime labels
changed milestone to %runtime-500
added 1 commit
- 919a6ac4 - chore: upgrade substrate to polkadot-v0.9.32
added 1 commit
- afa41319 - chore: upgrade substrate to polkadot-v0.9.32
added 1 commit
- 4d30291a - chore: upgrade substrate to polkadot-v0.9.32
added 10 commits
-
4d30291a...dacbfa8f - 9 commits from branch
master
- 60736331 - chore: upgrade substrate to polkadot-v0.9.32
-
4d30291a...dacbfa8f - 9 commits from branch
added 1 commit
- a4e70834 - chore: upgrade substrate to polkadot-v0.9.32
added 1 commit
- 37468b34 - chore: upgrade substrate to polkadot-v0.9.32
added 2 commits
requested review from @HugoTrentesaux
@HugoTrentesaux Ça y est, enfin !
Il reste deux TODO pour try-runtime, mais si personne ne sait s'en servir pour l'instant ce n'est peut-être pas grave. (si on en a besoin et que quelqu'un sait, cette personne pourra le réparer)
Il est possible de coller un peu plus à la structure de Polkadot, mais ne sachant pas ce qui était différent dès le début ou depuis la mise à jour correspondante de Polkadot, j'ai évité de changer ce qui n'était pas nécessaire. Ça pourrait cependant être utile pour plus de propreté, flexibilité et pour faciliter les prochaines mises à jour.
Je n'ai pas séparé en 15000 commits parce que ça prendrait des heures (et c'était impossible à faire proprement au fur et à mesure). Par contre je peux séparer les changements "bêtes" (simples renommages) de ceux qui contiennent des choix de style ou autre espèce d'importance, si ça peut faciliter la revue.
Edited by Pascal Engélibert- Resolved by Hugo Trentesaux
Super !! Ça avait l'air un peu rébarbatif.
J'ai fait une branche
hugo-review-tuxmain-substrate-v0.9.32
pour relire, j'ai marqué quelques commentaires dedans, avec notamment quelques questions :- sais-tu à quoi correspond patch.crates-io ? j'ai pas trop compris
-
pourquoi les
#[allow(unused_imports)]
dansnode/src/service/client.rs
? est-ce qu'il ne vaudrait pas mieux retirer les imports ? -
qu'est-ce qui a changé avec le
BenchmarkCallSigner
est-ce qu'il y aurait un peu de documentation à écrire à ce sujet par exemple ? -
les changements
Origin → RuntimeOrigin
etEvent → RuntimeEvent
c'est juste un renommage côté substrate ? rien de plus ? -
dans
runtime/common/src/apis.rs
tu as retirélist_benchmark
, est-ce qu'il y a un autre mécanisme pour les lister ? est-ce qu'il faut les ajouter quelque part quand on les écrit ? est-ce qu'il y a quelque chose à documenter du côté de l'écriture de benchmarks ? -
dans
runtime/common/src/weights/pallet_scheduler.rs
je suppose que c'est juste un refacto côté substrate ? c'est bien parce que ce qu'il y avait avant était imbitable >< -
à quoi correspond
set_proof_size
? je l'ai vu ajouté dans les runtimes, est-ce qu'il y a quelque chose à documenter ?
et quelques choses à faire ensuite dans d'autres MR
- improve ci to avoid duplicating the list of cucumber tests to run
- manage try-runtime
-
check comments and commented lines in main
Cargo.toml
file - extract the consts of the code like url for support (forum.duniter.org) in a separate file for readability
Qu'est-ce que tu as compris de la structure de Polkadot dont on s'éloigne ? Je suis complètement à l'aveugle là dessus, mais en effet, ça pourrait faciliter le compréhension de plus coller au style polkadot.
Pas de problème à garder peu de commits, les changements ne sont pas trop déroutants. Le contexte "MR 121 mise à jour substrate" me paraît suffisamment explicite, même pour les petites corrections de faute de frappes.
Edited by Hugo Trentesaux
Thanks a lot for this work!
A new dependency is required to build the docker image:
protobuf-compiler
. This should be added aftercmake
in the Dockerfile.The related error message is:
thread 'main' panicked at 'Could not find `protoc` installation and this build crate cannot proceed without this knowledge. If `protoc` is installed and this crate had trouble finding it, you can set the `PROTOC` environment variable with the specific path to your installed `protoc` binary.If you're on debian, try `apt-get install protobuf-compiler` or download it from https://github.com/protocolbuffers/protobuf/releases
Comme de toute façon on ne teste pas encore les autres runtimes je ne les ai pas touchés. (je n'ai même pas essayé de les compiler) Ils ont dû accumuler par ailleurs du retard donc pour lancer gtest il vaudra peut-être mieux le reprendre entièrement depuis gdev.
Edited by Pascal Engélibert
changed milestone to %runtime-401