Benchmarking Dotty
bin/master
: for benchmarking the masterbin/run
: for manually benchmarking a specific period (after 2017.10.27)bin/pull
: for testing a specific pull request
Check the documentation in the source code of each command for more detail.
Update the profiles below:
profiles/default.yml
profiles/ci.yml
- Put regression jobs as scripts under
jobs/
. - Remember to use absolute path with the
$PROG_HOME
variable
The command bin/run
does the above automatically, allowing
specify an interval by PR numbers, optionally with a step.
You may need to specify a custom plan, check profiles/*.yml
.
- Put new test in relevant profiles under
profiles/*.yml
- Make a pull request
cp profiles/default.plan profiles/scalapb.plan
# edit profiles/scalapb.plan to only keep the test relevant for debug
# run test with a PR and commit hash -- PR can be a random number
bin/gauge -p profiles/scalapb.plan 6179 54fb992
- Install all dependencies listed above
- Disable system update to use a fixed version of kernel
# edit file /etc/apt/apt.conf.d/10periodic
APT::Periodic::Update-Package-Lists "0";
APT::Periodic::Download-Upgradeable-Packages "0";
APT::Periodic::AutocleanInterval "0";
- Clone current project and its submodules, submodules of submodules
- Update configuration in
bin/config
- Authorize
ghi config --auth
, make sure it works from command line - Make sure
git
can push to current project - Setup cron jobs listed in
bin/cron
- Checkout the branch
gh-pages
of current project as a foldersite
under current project - Make a git repo under the directory
data
for storing test data, make suregit push origin master:master
works for the repo. - In
dotty
folder, rungit remote add staging https://github.com/dotty-staging/dotty.git
- run
bin/synch-profiles
once - Run static web server for logs:
ecstatic ./logs --port 8000 --content-type text/plain
- run
bin/cpu
once - start
bin/poll
andbin/queue
as long-running service