Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feat: Polkadot v1.4 to v1.5 upgrade #439

Draft
wants to merge 18 commits into
base: feat/polkadot-v1.4.0-upgrade
Choose a base branch
from

Conversation

Aideepakchaudhary
Copy link

@Aideepakchaudhary Aideepakchaudhary commented Oct 8, 2024

Description

This PR is upgrading Runtime's and Node's dependencies from Polkadot-SDK release v1.4.0 to v1.5.0

Notes

Relevant upgrade's notes and comments.

Process

  • Bump workspace dependencies
  • Fix issues
  • Bump spec_ver for both testnet and mainnet Runtime.
  • Bump node version if there were changes in the node. TBD

Codebase Upgrade Acceptance Criteria

  • cargo check passes
  • cargo test passes
  • cargo build on -- release profile correctly builds
  • try-runtime and runtime-benchmarks features compile
  • Single node spinned up from binary works and generates blocks
  • Zombienet network with 2 peers spawned with block-production config file generates blocks.

Runtime & Node Upgrade Acceptance Criteria

  • Runtime upgrade works on Zombienet

  • Node upgrade works on Zombienet

  • Runtime upgrade works on Chopsticks

    • Testnet
    • Mainnet
  • Try-runtime passes with no pending migrations

    • Testnet
    • Mainnet

<!--- PR TEMPLATE CONTENT STARTS HERE -->

Types of Changes

Please select the branch type you are merging and fill in the relevant template.

<!--- Check the following box with an x if the following applies: -->

  • Hotfix
  • Release
  • Fix or Feature

Fix or Feature

<!--- Check the following box with an x if the following applies: -->

Types of Changes

<!--- What types of changes does your code introduce? -->

  • Tech Debt (Code improvements)
  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Dependency upgrade (A change in substrate or any 3rd party crate version)

Migrations and Hooks

<!--- Check the following box with an x if the following applies: -->

  • This change requires a runtime migration.
  • Modifies on_initialize
  • Modifies on_finalize

Checklist for Fix or Feature

<!--- All boxes need to be checked. Follow this checklist before requiring PR review -->

  • Change has been tested locally.
  • Change adds / updates tests if applicable.
  • Changelog doc updated.
  • spec_version has been incremented.
  • network-relayer's events have been updated according to the blockchain events if applicable.
  • All CI checks have been passed successfully

Checklist for Hotfix

<!--- All boxes need to be checked. Follow this checklist before requiring PR review -->

  • Change has been deployed to Testnet.
  • Change has been tested in Testnet.
  • Changelog has been updated.
  • Crate version has been updated.
  • spec_version has been incremented.
  • Transaction version has been updated if required.
  • Pull Request to dev has been created.
  • Pull Request to staging has been created.
  • network-relayer's events have been updated according to the blockchain events if applicable.
  • All CI checks have been passed successfully

Checklist for Release

<!--- All boxes need to be checked. Follow this checklist before requiring PR review -->

  • Change has been deployed to Devnet.
  • Change has been tested in Devnet.
  • Change has been deployed to Qanet.
  • Change has been tested in Qanet.
  • Change has been deployed to Testnet.
  • Change has been tested in Testnet.
  • Changelog has been updated.
  • Crate version has been updated.
  • Spec version has been updated.
  • Transaction version has been updated if required.
  • All CI checks have been passed successfully

@Aideepakchaudhary
Copy link
Author

@aie0 @ayushmishra2005 it seems that CI has started to fail from 1.5 polkadot version. could you please take a look?Thanks!

@ayushmishra2005
Copy link
Contributor

@aie0 @ayushmishra2005 it seems that CI has started to fail from 1.5 polkadot version. could you please take a look?Thanks!

@Aideepakchaudhary I can see conflicts in this PR. Could you please fix them first and verify whether this branch compiles?

@ayushmishra2005
Copy link
Contributor

@aie0 @ayushmishra2005 it seems that CI has started to fail from 1.5 polkadot version. could you please take a look?Thanks!

@Aideepakchaudhary As you mentioned, it has started failing from Polkadot 1.5.0 onwards, so it seems related to a specific version. Could you please identify the cause?

cc @aie0

@Aideepakchaudhary
Copy link
Author

@Aideepakchaudhary As you mentioned, it has started failing from Polkadot 1.5.0 onwards, so it seems related to a specific version. Could you please identify the cause?

I have fixed the github CI. Please validate once

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Aideepakchaudhary @metricaez

  1. Can you add derive_impl to inject default types as mentioned here?

Same for cere_dev?

  1. Can we use #[derive_impl(frame_system::config_preludes::TestDefaultConfig as frame_system::DefaultConfig)] in mock.rs of pallets? For example: https://github.com/paritytech/polkadot-sdk/blob/a3dc2f15f23b3fd25ada62917bfab169a01f2b0d/substrate/bin/node-template/pallets/template/src/mock.rs#L23

Copy link

@valentinfernandez1 valentinfernandez1 Oct 15, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This feature has already been included as part of the upcoming v1.9.0 upgrade, if it's required for this PR we can included here instead, otherwise it will be added in the upcoming PR.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@valentinfernandez1 @metricaez @Aideepakchaudhary

When a change is introduced in a specific release, it should be reflected in the corresponding PR for our upgrade. Please ensure that all changes from version 1.5 are incorporated into this PR, and moving forward, all future releases must include their relevant changes as well.

cc @aie0

Copy link
Contributor

@aie0 aie0 Oct 16, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

agree with @ayushmishra2005

Cargo.toml Outdated Show resolved Hide resolved
Copy link
Contributor

@ayushmishra2005 ayushmishra2005 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@metricaez @Aideepakchaudhary

CodeExecutor was improved by removing NativeElseWasmExecutor as a part of this
paritytech/polkadot-sdk#2521.

Please incorporate this change.

cc @aie0

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants