Mailspring/scripts/benchmark-new-commits.sh
Mark Hahnenberg 4eef086e3e [client-app] Fix benchmark script
Summary:
We weren't changing into the directory of the git repository, so running
the script from anywhere but inside the git repo didn't work. We also
weren't pulling before checking for the latest commit. Now we do both of
these things.

Test Plan: Run locally

Reviewers: spang, juan, evan

Reviewed By: evan

Differential Revision: https://phab.nylas.com/D4339
2017-04-04 13:28:46 -07:00

30 lines
792 B
Bash

#!/bin/bash
set -e
function get_next_commit() {
local LAST_COMMIT=$1
local NEXT_COMMIT=$(git log master ^$LAST_COMMIT --ancestry-path --pretty=oneline | cut -d" " -f1 | tail -n 1)
echo "$NEXT_COMMIT"
}
BENCHMARK_RESULTS_DIR="$HOME/.benchmark_results"
mkdir -p $BENCHMARK_RESULTS_DIR
CWD="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
cd $CWD/..
git checkout -q master
git pull -q --rebase
LAST_COMMIT=$(cat $BENCHMARK_RESULTS_DIR/last_commit)
NEXT_COMMIT=$(get_next_commit $LAST_COMMIT)
while [[ $NEXT_COMMIT != '' ]]
do
echo $NEXT_COMMIT
git checkout -q $NEXT_COMMIT
bash $CWD/benchmark-initial-sync.sh > "$BENCHMARK_RESULTS_DIR/$NEXT_COMMIT-results.txt"
echo "$NEXT_COMMIT" > "$BENCHMARK_RESULTS_DIR/last_commit"
NEXT_COMMIT=$(get_next_commit $NEXT_COMMIT)
done