63 lines
1.8 KiB
Bash
Executable file
63 lines
1.8 KiB
Bash
Executable file
#!/bin/bash
|
|
|
|
set -e
|
|
|
|
ledger_proof() {
|
|
SRC="$1"
|
|
DEST="$2"
|
|
LOGDIR="$3"
|
|
|
|
cd "$SRC"
|
|
VERSION=$(git describe --all --long)
|
|
|
|
if [[ -f $DEST/last-proofed && $(< $DEST/last-proofed) = $VERSION ]]; then
|
|
echo "No need to run tools/proof again"
|
|
exit 0
|
|
fi
|
|
|
|
sudo rm -fr $DEST/ledger-proof
|
|
date > $LOGDIR/ledger-proof.log
|
|
|
|
time nice -n 20 \
|
|
./acprep --debug --doxygen --compiler=g++-4.7 proof -j16 2>&1 | \
|
|
tee -a $LOGDIR/ledger-proof-g++-4.7.log
|
|
|
|
time nice -n 20 \
|
|
./acprep --debug --doxygen --python --compiler=g++-4.7 proof -j16 2>&1 | \
|
|
tee -a $LOGDIR/ledger-proof-g++-4.7-python.log
|
|
|
|
time nice -n 20 \
|
|
./acprep --debug --doxygen --compiler=clang-3.1 proof -j16 2>&1 | \
|
|
tee -a $LOGDIR/ledger-proof-clang-3.1.log
|
|
|
|
time nice -n 20 \
|
|
./acprep --debug --doxygen --python --compiler=clang-3.1 proof -j16 2>&1 | \
|
|
tee -a $LOGDIR/ledger-proof-clang-3.1-python.log
|
|
|
|
if egrep -q '(ERROR|CRITICAL)' $LOGDIR/ledger-proof.log; then
|
|
mutt -a $LOGDIR/ledger-proof.log \
|
|
-s '[ledger] Proof build FAILED' johnw@newartisans.com <<EOF
|
|
Ledger proof build FAILED, at commit $VERSION.
|
|
EOF
|
|
if [[ "$1" = "--alert" ]]; then
|
|
notify "Ledger proof build FAILED"
|
|
else
|
|
echo "Ledger proof build FAILED"
|
|
exit 1
|
|
fi
|
|
else
|
|
echo $VERSION > $DEST/last-proofed
|
|
|
|
cd $DEST/ledger-proof-python-g++-4.7/debug; make docs
|
|
cd $DEST/ledger-proof-python-g++-4.7/gcov; make report
|
|
|
|
mutt -s '[ledger] Proof build succeeded' johnw@newartisans.com <<EOF
|
|
Ledger proof build succeeded! at commit $VERSION.
|
|
EOF
|
|
echo "Ledger proof build succeeded"
|
|
fi
|
|
}
|
|
|
|
ledger_proof ${1:-$HOME/src/ledger} ${2:-$HOME/Products} ${3:-$HOME/Library/Logs}
|
|
|
|
exit 0
|