Command Bot - Help Docs

Based on https://github.com/paritytech/command-bot-scripts/tree/main

rev: bd105b00b5aafda6a91ed813d522bd2b2a846664

Running custom commands, like:
bot command-name -v VAR=value id --argument=1 --argument=2

Or even multiple commands in one comment:
bot clean
bot command-name --argument=2
bot command-name --argument=3

To add a new command:  

  1. Go to https://github.com/paritytech/command-bot-scripts/
  2. Add new command and open a PR.
  3. Read how to test the new command before merging.
  4. Merge. Then after merging the PR, it will be accessible without branch override.

Generates the help page & provides a link.

Example: bot help

Clears bot comments in the PR.

Works in all repos

--all

Clears all bot comments in the PR, including human comments requesting a command-bot. 

Default: false 

Example: bot clean

This is a wrapper to run `bench` for all pallets. In order to skip merging master - add `-v UPSTREAM_MERGE=n` to env variables

Works in these repos: polkadot-sdk

--Pallet * (required):
^([a-z_]+)([:]{2}[a-z_]+)?$ (Example: "pallet_name")

Default static args:

    Example: bot bench-all pallet --pallet=pallet_name

    Works in these repos: polkadot-sdk

    Default static args:

    • target_dir: substrate
    • features: riscv

    Example: bot bench-all substrate

    Works in these repos: polkadot-sdk

    --Runtime
    rococo (default) | westend 

    Default static args:

    • target_dir: polkadot
    • features: riscv

    Example: bot bench-all polkadot

    Works in these repos: polkadot-sdk

    --Runtime
    asset-hub-rococo (default) | asset-hub-westend | bridge-hub-rococo | bridge-hub-westend | collectives-westend | coretime-rococo | coretime-westend | contracts-rococo | glutton-westend | people-rococo | people-westend 

    Default static args:

    • target_dir: cumulus

    Example: bot bench-all cumulus

    Run benchmarks overhead and commit back results to PR. In order to skip merging master - add `-v UPSTREAM_MERGE=n` to env variables

    Works in these repos: polkadot-sdk

    --Runtime
    rococo (default) | westend 

    Default static args:

    • target_dir: polkadot

    Example: bot bench-overhead

    Works in these repos: polkadot-sdk

    Default static args:

    • target_dir: substrate

    Example: bot bench-overhead substrate

    Works in these repos: polkadot-sdk

    --Runtime
    asset-hub-westend (default) | asset-hub-rococo 

    Default static args:

    • target_dir: cumulus

    Example: bot bench-overhead cumulus

    Runs `benchmark pallet` or `benchmark overhead` against your PR and commits back updated weights. In order to skip merging master - add `-v UPSTREAM_MERGE=n` to env variables

    Works in these repos: polkadot-sdk

    --pallet * (required):
    ^([a-z_]+)([:]{2}[a-z_]+)?$ (Example: "pallet_name")

    Default static args:

    • subcommand: pallet
    • runtime: dev
    • target_dir: substrate
    • features: riscv

    Example: bot bench substrate-pallet --pallet=pallet_name

    Works in these repos: command-bot-testpolkadot-sdk

    --Subcommand
    pallet (default) | xcm 
    --Runtime
    rococo (default) | westend 
    --Pallet * (required):
    ^([a-z_]+)([:]{2}[a-z_]+)?$ (Example: "pallet_name")

    Default static args:

    • target_dir: polkadot

    Example: bot bench polkadot-pallet --pallet=pallet_name

    Works in these repos: polkadot-sdk

    --Subcommand
    pallet (default) | xcm 
    --Runtime
    asset-hub-westend (default) | asset-hub-rococo 
    --Pallet * (required):
    ^([a-z_]+)([:]{2}[a-z_]+)?$ (Example: "pallet_name")

    Default static args:

    • runtime_dir: assets
    • target_dir: cumulus

    Example: bot bench cumulus-assets --pallet=pallet_name

    Works in these repos: polkadot-sdk

    --Subcommand
    pallet (default) | xcm 
    --Pallet * (required):
    ^([a-z_]+)([:]{2}[a-z_]+)?$ (Example: "pallet_name")

    Default static args:

    • runtime: collectives-westend
    • runtime_dir: collectives
    • target_dir: cumulus

    Example: bot bench cumulus-collectives --pallet=pallet_name

    Works in these repos: polkadot-sdk

    --Subcommand
    pallet (default) | xcm 
    --Runtime
    coretime-rococo (default) | coretime-westend 
    --Pallet * (required):
    ^([a-z_]+)([:]{2}[a-z_]+)?$ (Example: "pallet_name")

    Default static args:

    • runtime_dir: coretime
    • target_dir: cumulus

    Example: bot bench cumulus-coretime --pallet=pallet_name

    Works in these repos: polkadot-sdk

    --Subcommand
    pallet (default) | xcm 
    --Runtime
    bridge-hub-rococo (default) | bridge-hub-westend 
    --Pallet * (required):
    ^([a-z_]+)([:]{2}[a-z_]+)?$ (Example: "pallet_name")

    Default static args:

    • runtime_dir: bridge-hubs
    • target_dir: cumulus

    Example: bot bench cumulus-bridge-hubs --pallet=pallet_name

    Works in these repos: polkadot-sdk

    --Subcommand
    pallet (default) | xcm 
    --Pallet * (required):
    ^([a-z_]+)([:]{2}[a-z_]+)?$ (Example: "pallet_name")

    Default static args:

    • runtime: contracts-rococo
    • runtime_dir: contracts
    • target_dir: cumulus

    Example: bot bench cumulus-contracts --pallet=pallet_name

    Works in these repos: polkadot-sdk

    --Runtime
    glutton-westend (default) | glutton-westend-dev-1300 
    --Pallet * (required):
    ^([a-z_]+)([:]{2}[a-z_]+)?$ (Example: "pallet_name")

    Default static args:

    • subcommand: pallet
    • runtime_dir: glutton
    • target_dir: cumulus

    Example: bot bench cumulus-glutton --pallet=pallet_name

    Works in these repos: polkadot-sdk

    --Subcommand
    pallet (default) | xcm 
    --Runtime
    seedling (default) | shell 
    --Pallet * (required):
    ^([a-z_]+)([:]{2}[a-z_]+)?$ (Example: "pallet_name")

    Default static args:

    • runtime_dir: starters
    • target_dir: cumulus

    Example: bot bench cumulus-starters --pallet=pallet_name

    Works in these repos: polkadot-sdk

    --Subcommand
    pallet (default) | xcm 
    --Runtime
    people-westend (default) | people-rococo 
    --Pallet * (required):
    ^([a-z_]+)([:]{2}[a-z_]+)?$ (Example: "pallet_name")

    Default static args:

    • runtime_dir: people
    • target_dir: cumulus

    Example: bot bench cumulus-people --pallet=pallet_name

    Works in these repos: polkadot-sdk

    --Subcommand
    pallet (default) | xcm 
    --Runtime
    penpal (default) | rococo-parachain 
    --Pallet * (required):
    ^([a-z_]+)([:]{2}[a-z_]+)?$ (Example: "pallet_name")

    Default static args:

    • runtime_dir: testing
    • target_dir: cumulus

    Example: bot bench cumulus-testing --pallet=pallet_name

    FMT. Formatting Rust code + Toml according to style guidelines and commits to your PR.

    Example: bot fmt

    Sync chain https://github.com/paritytech/command-bot/issues/177

    Works in these repos: polkadot-sdk

    --Chain
    westend (default) | rococo 
    --Sync type
    warp (default) | full | fast | fast-unsafe 

    Default static args:

      Example: bot sync

      Update UI tests, e.g. after a rust toolchain upgrade, and commit them to your PR.

      Works in these repos: polkadot-sdk

      Example: bot update-ui

      Works in these repos: polkadot-sdk

      --Rust version * (required):
      ^[0-9.]+$ (Example: "1.70")

      Example: bot update-ui latest --rust_version=1.70