Mercurial > kallithea
view scripts/validate-commits @ 8771:f8971422795e
scripts: introduce source_format.py to fix up the module name in file headers
author | Mads Kiilerich <mads@kiilerich.com> |
---|---|
date | Sat, 07 Nov 2020 02:29:41 +0100 |
parents | 68861940ee1e |
children | 0a9ddb8cd8c1 |
line wrap: on
line source
#!/bin/bash # Validate the specified commits against test suite and other checks. if [ -n "$VIRTUAL_ENV" ]; then echo "Please run this script from outside a virtualenv." exit 1 fi if ! hg update --check -q .; then echo "Working dir is not clean, please commit/revert changes first." exit 1 fi revset=$1 if [ -z "$revset" ]; then echo "Warning: no revisions specified, checking draft changes up to the current one." revset='draft() and ancestors(.)' fi venv=$(mktemp -d kallithea-validatecommits-env-XXXXXX) resultfile=$(mktemp kallithea-validatecommits-result-XXXXXX) echo > "$resultfile" cleanup() { rm -rf /tmp/kallithea-test* rm -rf "$venv" } finish() { cleanup # print (possibly intermediate) results cat "$resultfile" rm "$resultfile" } trap finish EXIT for rev in $(hg log -r "$revset" -T '{node}\n'); do hg log -r "$rev" hg update "$rev" cleanup python3 -m venv "$venv" source "$venv/bin/activate" pip install --upgrade pip setuptools pip install -e . -r dev_requirements.txt python-ldap python-pam # run-all-cleanup if ! scripts/run-all-cleanup ; then echo "run-all-cleanup encountered errors!" result="NOK" else if ! hg update --check -q .; then echo "run-all-cleanup did not give clean results!" result="NOK" hg diff hg revert -a else result=" OK" fi fi echo "$result: $rev (run-all-cleanup)" >> "$resultfile" # pytest if py.test; then result=" OK" else result="NOK" fi echo "$result: $rev (pytest)" >> "$resultfile" deactivate echo done