:warning: bench-bot has been deprecated in favor of https://github.com/paritytech/command-bot, which has a different execution model. A detailed comparison is provided in https://github.com/paritytech/pipeline-scripts/issues/54.
Although development will stop in this repository, the open-source community might continue in forks such as https://github.com/AcalaNetwork/bench-bot and https://github.com/PureStake/bench-bot.
The bot runs commands in response to pull request comments (example). The form is:
/bench [action] [...args]
Environment variables and Github settings have to properly configured upfront for this interaction to work.
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
ssh user@remote '/home/benchbot/bench-bot/run update master'
ssh user@remote '/home/benchbot/bench-bot/run update pull/number/head:branch'
e.g. pull/1/head:master
See https://gitlab.parity.io/groups/parity/opstooling/-/wikis