Skip to content
  1. Dec 05, 2023
  2. Dec 01, 2023
  3. Nov 30, 2023
    • Kian Paimani's avatar
      Introduce Polkadot-Sdk `developer_hub` (#2102) · eaf1bc56
      Kian Paimani authored
      
      
      This PR introduces the new crate `developer_hub` into the polkadot-sdk
      repo. The vision for the developer-hub crate is detailed in [this
      document](https://docs.google.com/document/d/1XLLkFNE8v8HLvZpI2rzsa8N2IN1FcKntc8q-Sc4xBAk/edit?usp=sharing).
      
      <img width="1128" alt="Screenshot 2023-11-02 at 10 45 48"
      src="https://github.com/paritytech/polkadot-sdk/assets/5588131/1e12b60f-fef5-42c4-8503-a3ba234077c3">
      
      
      Other than adding the new crate, it also does the following: 
      
      * Remove the `substrate` crate, as there is now a unique umbrella crate
      for multiple things in `developer_hub::polkadot_sdk`.
      * (backport candidate) A minor change to `frame-support` macros that
      allows `T::RuntimeOrigin` to also be acceptable as the origin type.
      * (backport candidate) A minor change to `frame-system` that allows us
      to deposit events at genesis because now the real genesis config is
      generated via wasm, and we can safely assume `cfg!(feature = "std")`
      means only testing. related to #62.
      * (backport candidate) Introduces a small `read_events_for_pallet` to
      `frame_system` for easier event reading in tests.
      * From https://github.com/paritytech/polkadot-sdk-docs/issues/31, it
      takes action on improving the `pallet::call` docs.
      * From https://github.com/paritytech/polkadot-sdk-docs/issues/31, it
      takes action on improving the `UncheckedExtrinsic` docs.
      
      ## Way Forward
      
      First, a version of this is deployed temporarily
      [here](https://blog.kianenigma.nl/polkadot-sdk/developer_hub/index.html).
      I will keep it up to date on a daily basis.
      
      ### This Pull Request
      
      I see two ways forward: 
      
      1. We acknowledge that everything in `developer-hub` is going to be WIP,
      and merge this asap. We should not yet use links to this crate anywhere.
      2. We make this be the feature branch, make PRs against this, and either
      gradually backport it, or only merge to master once it is done.
      
      I am personally in favor of option 1. If we stick to option 2, we need a
      better way to deploy a staging version of this to gh-pages.
      
      ### Issue Tracking
      
      The main issues related to the future of `developer_hub` are: 
      
      - https://github.com/paritytech/polkadot-sdk-docs/issues/31
      - https://github.com/paritytech/polkadot-sdk-docs/issues/4
      - https://github.com/paritytech/polkadot-sdk-docs/issues/26 
      - https://github.com/paritytech/polkadot-sdk-docs/issues/32
      - https://github.com/paritytech/polkadot-sdk-docs/issues/36
      
      
      ### After This Pull Request
      
      - [ ] create a redirect for
      https://paritytech.github.io/polkadot-sdk/master/substrate/
      - [x] analytics 
      - [ ] link checker
      - [ ] the matter of publishing, and how all of these relative links for
      when we do, that is still an open question. There is section on this in
      the landing page.
      - [ ] updated https://paritytech.github.io/
      
      ---------
      
      Co-authored-by: default avatarLiam Aharon <[email protected]>
      Co-authored-by: default avatarJuan Girini <[email protected]>
      Co-authored-by: default avatarbader y <[email protected]>
      Co-authored-by: default avatarSebastian Kunert <[email protected]>
      Co-authored-by: default avatarJames Wilson <[email protected]>
      Co-authored-by: default avatarMichal Kucharczyk <[email protected]>
      eaf1bc56
  4. Nov 29, 2023
  5. Nov 28, 2023
  6. Nov 27, 2023
    • Maciej's avatar
      Zombienet tests - disputes on finalized blocks (#2184) · dc69dbba
      Maciej authored
      
      
      **Overview:**
      Adding an extra malus variant focusing on disputing finalized blocks. It
      will:
      - wrap around approval-voting
      - listen to `OverseerSignal::BlockFinalized` and when encountered start
      a dispute for the `dispute_offset`th ancestor
      - simply pass through all other messages and signals
      
      Add zombienet tests testing various edgecases:
      - disputing freshly finalized blocks
      - disputing stale finalized blocks
      - disputing eagerly pruned finalized blocks (might be separate PR)
      
      **TODO:**
      - [x] Register new malus variant
      - [x] Simple pass through wrapper (approval-voting)
      - [x] Simple network definition
      - [x] Listen to block finalizations
      - [x] Fetch ancestor hash
      - [x] Fetch session index
      - [x] Fetch candidate
      - [x] Construct and send dispute message
      - [x] zndsl test 1 checking that disputes on fresh finalizations resolve
      valid Closes #1365
      - [x] zndsl test 2 checking that disputes for too old finalized blocks
      are not possible Closes #1364
      - [ ] zndsl test 3 checking that disputes for candidates with eagerly
      pruned relay parent state are handled correctly #1359 (deferred to a
      separate PR)
      - [x] Unit tests for new malus variant (testing cli etc)
      - [x] Clean/streamline error handling
      - [ ] ~~Ensure it tests properly on session boundaries~~
      
      ---------
      
      Co-authored-by: default avatarJavier Viola <[email protected]>
      Co-authored-by: default avatarMarcin S. <[email protected]>
      Co-authored-by: default avatarTsvetomir Dimitrov <[email protected]>
      dc69dbba
  7. Nov 25, 2023
  8. Nov 24, 2023
  9. Nov 23, 2023
    • Liam Aharon's avatar
      CI: Disable runtime upgrade spec name check on Westend Asset Hub and fix... · 12062f6a
      Liam Aharon authored
      CI: Disable runtime upgrade spec name check on Westend Asset Hub and fix Staking pallet migration (#2447)
      
      Westend Asset Hub currently failing because the spec name is being
      changed next runtime upgrade
      (https://gitlab.parity.io/parity/mirrors/polkadot-sdk/-/jobs/4413125).
      
      This also fixes an idempotency issue with a staking pallet migration.
      Similar issues will be caught automatically now that we've also updated
      to try-runtime-cli v0.5.0 which checks for idempotency issues.
      
      This also enables try-state checks running in the CI.
      12062f6a
  10. Nov 22, 2023
  11. Nov 21, 2023
  12. Nov 17, 2023
    • Liam Aharon's avatar
      Fix migrations and add CI check for new system chains (#2336) · 82912acb
      Liam Aharon authored
      Westend Collectives migration CI check can be fixed once we have
      https://github.com/paritytech/try-runtime-cli/pull/58, will open another
      PR once it is available.
      
      - [x] Remove deprecated `DmpQueue` pallet from Rococo Contracts, the
      migration is complete
      - [x] Fix Asset Hub Rococo storage versions
      - [x] Add migration check CI for Asset Hub Rococo and Westend Bridge Hub
      82912acb
  13. Nov 16, 2023
  14. Nov 15, 2023
    • Dónal Murray's avatar
      Add `collectives-westend` and `glutton-westend` runtimes (#2024) · 0226b55f
      Dónal Murray authored
      
      
      Add collectives and glutton parachain westend runtimes to prepare for
      #1737.
      
      The removal of system parachain native runtimes #1737 is blocked until
      chainspecs and runtime APIs can be dealt with cleanly (merge of #1256
      and follow up PRs).
      
      In the meantime, these additions are ready to be merged to `master`, so
      I have separated them out into this PR.
      
      Also marked `bridge-hub-westend` as unimplemented in line with [this
      issue](https://github.com/paritytech/parity-bridges-common/issues/2602).
      
      TODO
      - [x] add to `command-bot` benchmarks
      - [x] add to `command-bot-scripts` benchmarks
      - [x] generate weights
      
      ---------
      
      Co-authored-by: default avatarjoe petrowski <[email protected]>
      Co-authored-by: default avatarMuharem <[email protected]>
      Co-authored-by: command-bot <>
      Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
      Co-authored-by: default avatarBranislav Kontur <[email protected]>
      0226b55f
    • Alexander Samusev's avatar
      [CI] Prepare CI for Merge Queues (#2308) · 5b0622bc
      Alexander Samusev authored
      PR prepares CI to the GitHub Merge Queues. All github actions that were
      running in PR adjusted so they can run in the merge queues. Zombienet
      jobs will do nothing during PRs but they will run during merge queues.
      
      Jobs that will be skipped during PR:
       - all zombienet jobs
       - all publish docker jobs
      
      Jobs that will be skipped during merge queue:
       - check-labels
       - check-prdoc
       - pr-custom-review
       - review trigger
      
      cc https://github.com/paritytech/ci_cd/issues/862
      5b0622bc
  15. Nov 13, 2023
  16. Nov 06, 2023
    • Andrei Sandu's avatar
      approval-voting improvement: include all tranche0 assignments in one certificate (#1178) · 0570b6fa
      Andrei Sandu authored
      
      
      **_PR migrated from https://github.com/paritytech/polkadot/pull/6782_** 
      
      This PR will upgrade the network protocol to version 3 -> VStaging which
      will later be renamed to V3. This version introduces a new kind of
      assignment certificate that will be used for tranche0 assignments.
      Instead of issuing/importing one tranche0 assignment per candidate,
      there will be just one certificate per relay chain block per validator.
      However, we will not be sending out the new assignment certificates,
      yet. So everything should work exactly as before. Once the majority of
      the validators have been upgraded to the new protocol version we will
      enable the new certificates (starting at a specific relay chain block)
      with a new client update.
      
      There are still a few things that need to be done:
      
      - [x] Use bitfield instead of Vec<CandidateIndex>:
      https://github.com/paritytech/polkadot/pull/6802
        - [x] Fix existing approval-distribution and approval-voting tests
        - [x] Fix bitfield-distribution and statement-distribution tests
        - [x] Fix network bridge tests
        - [x] Implement todos in the code
        - [x] Add tests to cover new code
        - [x] Update metrics
        - [x] Remove the approval distribution aggression levels: TBD PR
        - [x] Parachains DB migration 
        - [x] Test network protocol upgrade on Versi
        - [x] Versi Load test
        - [x] Add Zombienet test
        - [x] Documentation updates
      - [x] Fix for sending DistributeAssignment for each candidate claimed by
      a v2 assignment (warning: Importing locally an already known assignment)
       - [x]  Fix AcceptedDuplicate
       - [x] Fix DB migration so that we can still keep old data.
       - [x] Final Versi burn in
      
      ---------
      
      Signed-off-by: default avatarAndrei Sandu <[email protected]>
      Signed-off-by: default avatarAlexandru Gheorghe <[email protected]>
      Co-authored-by: default avatarAlexandru Gheorghe <[email protected]>
      0570b6fa
  17. Nov 05, 2023
  18. Nov 02, 2023
  19. Oct 31, 2023
  20. Oct 30, 2023
    • Liam Aharon's avatar
      contracts migration: remove unnecessary panics (#2079) · ad5163ba
      Liam Aharon authored
      Runtime migration CI is currently failing
      (https://gitlab.parity.io/parity/mirrors/polkadot-sdk/builds/4122083)
      for the contracts testnet due to unnecessary panicing in a `pre_upgrade`
      hook.
      
      Soon idempotency will be enforced
      https://github.com/paritytech/try-runtime-cli/issues/42, in the mean
      time we need to manually fix these issues as they arise.
      
      ---
      
      also removes backticks from the string in `echo`, which caused a
      'command not found' error in ci output
      ad5163ba
  21. Oct 24, 2023
    • Alexander Samusev's avatar
      [ci] Run check-rust-feature-propagation in pr and master (#2012) · 8a79fb22
      Alexander Samusev authored
      Need to run this job in master to make it `Required`
      8a79fb22
    • Oliver Tale-Yazdi's avatar
      Improve features dev-ex (#1831) · 4a443567
      Oliver Tale-Yazdi authored
      
      
      Adds a config file that allows to run `zepter` without any arguments in
      the workspace to address all issues.
      A secondary workflow for the CI is provided as `zepter run check`. Both
      the formatting and linting are now in one check for efficiancy.
      
      The latest version also detects some more things that `featalign` was
      already showing.
      
      Error message [in the
      CI](https://gitlab.parity.io/parity/mirrors/polkadot-sdk/-/jobs/3916205)
      now looks like this:
      ```pre
      ...
      crate 'test-parachains' (/Users/vados/Documents/work/polkadot-sdk/polkadot/parachain/test-parachains/Cargo.toml)
        feature 'std'
          must propagate to:
            parity-scale-codec
      Found 55 issues (run with --fix to fix).
      Error: Command 'lint propagate-feature' failed with exit code 1
      
      Polkadot-SDK uses the Zepter CLI to detect abnormalities in the feature configuration.
      It looks like one more more checks failed; please check the console output. You can try to automatically address them by running `zepter`.
      Otherwise please ask directly in the Merge Request, GitHub Discussions or on Matrix Chat, thank you.
      
      For more information, see:
        - https://github.com/paritytech/polkadot-sdk/issues/1831
        - https://github.com/ggwpez/zepter
      ```
      
      TODO:
      - [x] Check that CI fails correctly
      
      ---------
      
      Signed-off-by: default avatarOliver Tale-Yazdi <[email protected]>
      4a443567
  22. Oct 19, 2023
    • Liam Aharon's avatar
      Use prebuilt try-runtime binary in CI (#1898) · 411a4e38
      Liam Aharon authored
      `cargo install` takes a long time in CI. We want to run it relatively
      frequently without chewing through so much compute (see
      https://github.com/paritytech/ci_cd/issues/771) so I added automatic
      binary releases to the try-runtime-cli repo.
      
      A small added benefit is we can use it in our existing
      `on-runtime-upgrade` checks, which should cut their execution time by
      about half.
      411a4e38
  23. Oct 18, 2023
  24. Oct 17, 2023
  25. Oct 11, 2023
  26. Oct 02, 2023
    • Liam Aharon's avatar
      Init System Parachain storage versions and add migration check jobs to CI (#1344) · db3fd687
      Liam Aharon authored
      Makes SPs first class citizens along with the relay chains in the
      context of our CI runtime upgrade checks.
      
      ## Code changes
      
      - Sets missing current storage version in `uniques` pallet
      - Adds multisig V1 migration to run where it was missing
      - Removes executed migration whos pre/post hooks were failing from
      collectives runtime
      - Initializes storage versions for SP pallets added after genesis
      - Originally I was going to wait for
      https://github.com/paritytech/polkadot-sdk/pull/1297 to be merged so
      this wouldn't need to be done manually, but it doesn't seem like it'll
      be merged any time soon so I've decided to set them manually to unblock
      this
      
      ## CI changes
      
      - Removed dependency of `westend` runtime upgrades being complete prior
      to other ones running. I assume it is supposed to cache the
      `try-runtime` build for a performance benefit, but it seems it wasn't
      working. Maybe someone from the CI team can look into this or explain
      why it needs to be there?
      
      - Adds check-runtime-migration jobs for Parity asset-hubs, bridge-hubs
      and contract chains
      
      - Updated VARIABLES to accomodate the `kusama-runtime` package being
      renamed to `staging-kusama-runtime` in
      https://github.com/paritytech/polkadot-sdk/pull/1241
      
      - Added `EXTRA_ARGS` variable to `check-runtime-migration`, and set
      `--no-weight-warnings` to the relay chain runtime upgrade checks (relay
      chains don't have weight restrictions).
      db3fd687
  27. Sep 29, 2023
    • Bastian Köcher's avatar
      Remove kusama and polkadot runtime crates (#1731) · bf90cb0b
      Bastian Köcher authored
      This pull request is removing the Kusama and Polkadot runtime crates. As
      still some crates dependent on the runtime crates, this pull request is
      doing some more changes.
      
      - It removes the `hostperfcheck` CLI command. This CLI command could
      compare the current node against the standard hardware by doing some
      checks. Later we added the hardware benchmark feature to Substrate. This
      hardware benchmark is running on every node startup and prints a warning
      if the current node is too slow. This makes this CLI command a duplicate
      that was also depending on the kusama runtime.
      
      - The pull request is removing the emulated integration tests that were
      requiring the Kusama or Polkadot runtime crates.
      bf90cb0b
  28. Sep 28, 2023
    • Michal Kucharczyk's avatar
      rococo-runtime: `RococoGenesisExt` removed (#1490) · 50242a61
      Michal Kucharczyk authored
      [`RococoGenesisExt`](https://github.com/paritytech/polkadot-sdk/blob/a414ea75
      
      /polkadot/node/service/src/chain_spec.rs#L152-L171)
      is removed. It was the hack to allow overwriting
      `EpochDurationInBlocks`. Removal of `RococGenesisExt` prevents from
      manipulating the state to change the runtime constants.
      
      Changes:
      - Environment variable which controls the `time::EpochDurationInBlocks`
      value was added: `ROCOCO_EPOCH_DURATION` (epoch duration will be set to
      the value of env),
      - `10,100,600` versions of rococo-runtime are built in CI and put into `polkadot-debug` docker image.
      
      `rococo-runtime` building examples:
      - to build runtime for `versi_staging_testnet` which had
      EpochDurationInBlocks set to 100:
        ```
      ROCOCO_EPOCH_DURATION=100 cargo build --features=fast-runtime -p
      rococo-runtime
        ```
      - to build runtime for `wococo_development`
        ```
      ROCOCO_EPOCH_DURATION=10 cargo build --features=fast-runtime -p
      rococo-runtime
        ```
      - to build `versi-staging` chain spec:
        ```
      ROCOCO_EPOCH_DURATION=100 cargo run -p polkadot --features=fast-runtime
      -- build-spec --chain versi-staging --raw
        ```
      - to build `wococo-dev` chain spec:
        ```
      ROCOCO_EPOCH_DURATION=10 cargo run -p polkadot --features=fast-runtime
      -- build-spec --chain wococo-dev --raw
        ```
      
      It is also possible to change the epoch duration by replacing the `code` field in the chain spec with the hex dump of pre-built runtime wasm blob (because the epoch duration is hard-coded into wasm blob).
      
      ---------
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      50242a61
  29. Sep 27, 2023
  30. Sep 26, 2023
    • Dónal Murray's avatar
      Allow debug_assertions in short-benchmarks CI job (#1711) · 7d3ce4df
      Dónal Murray authored
      Add debug_assertions to WASM builds in the short-benchmarks CI job.
      
      Disallow warnings, show a full backtrace and remove the WASM output
      colour to improve information from this CI step in the event of a failure.
      
      This is motivated by a
      [case](https://github.com/paritytech/polkadot-sdk/pull/1676/commits/23d64918)
      where a benchmark was misconfigured in master and failing to send
      notifications, but passing CI. We don't want this to fail if the problem
      happens in production, but ideally we'd know from the CI if it was
      misconfigured and the messages weren't getting sent, as that could
      (would?) affect the weights that the benchmark generates.
      
      Enabling debug-assertions in WASM builds for the short-benchmarks would
      catch "soft" failures like this in future.
      7d3ce4df
  31. Sep 22, 2023