This is a substrate-only bot at the moment.
The bot runs commands in response to pull request comments (example). The form is:
/bench [action] [...args]
| Kilt bench Command | Chain Spec | Weight template |
|---|---|---|
/bench runtime pallet {pallet_name} |
dev |
pallets/{pallet_folder}/src/default_weights.rs |
/bench runtime spiritnet-pallet {pallet_name} |
spiritnet-dev |
pallets/{pallet_folder}/src/default_weights.rs |
/bench runtime peregrine {pallet_name} |
dev |
runtimes/peregrine/src/weights/{pallet_name}.rs |
/bench runtime spiritnet-runtime {pallet_name} |
spiritnet-dev |
runtimes/spiritnet/src/weights/{pallet_name}.rs |
Naming convention: If pallet folder contains hyphen, output file inside runtime will be folder name replaced by underscore otherwise the same. You can manually run scripts inside mashnet-node/scripts directory to run all runtime pallets.
Environment variables and Github settings have to properly configured upfront for this interaction to work.
sudo /home/benchbot/bench-bot/run restart
Create a .env file in the root with the following:
APP_ID=<App id from Github App Settings>
BASE_BRANCH=<the default branch for merging into the PRs, e.g. master>
CLIENT_ID=<Client ID from Github App Settings>
CLIENT_SECRET=<Client ID from Github App Settings>
PRIVATE_KEY_PATH=<Path the the private key of the github app>
WEBHOOK_SECRET=<Webhook secret from Github App Settings>
WEBHOOK_PROXY_URL=<optional; webhook proxy for development>
During development it's recommended to use smee for
WEBHOOK_PROXY_URL because it enables testing your bot's functionality
locally, without having to SSH into the dedicated machine.
The commands yarn run format and yarn run lint are available for ensuring
style consistency on this project's code.
yarn && yarn start
Note: Before disrupting the production deployment, it's first recommended to
check if some benchmark is running through pgrep -a cargo .
The run script is used to manage the application. Use run help for
documentation about its options.
run bootstrap will take care of creating and installing everything from
scratch. After install, you'll also need to set up
environment variables which optionally can be done through
a .env file in the bot's installation path.
run {start,stop,restart}: execute the relevant action for the bot.run update [ref]: restart the bot with the branch or PR- For branch:
ssh user@remote '/home/benchbot/bench-bot/run update master' - For PR:
ssh user@remote '/home/benchbot/bench-bot/run update pull/number/head:branch'e.g.pull/1/head:master
- For branch:
See https://gitlab.parity.io/groups/parity/opstooling/-/wikis
- Metadata: Read Only
- Issues: Read/Write
- Pull Requests: Read/Write
- Contents: Read/Write
- Issue comments