##// END OF EJS Templates
wsgi: Refactor to introduce make_app_raw function with the essentials of make_app...
wsgi: Refactor to introduce make_app_raw function with the essentials of make_app Command line commands and WSGI applications have different environments and runtime models. They deserve different handling. Keep make_app doing as before so WSGI scripts keep working as before. All "app" usage from command line is changed to use make_app_raw directly.

File last commit:

r8777:ff6c3e28 stable
r8794:7c270478 stable
Show More
validate-commits
74 lines | 1.7 KiB | text/plain | TextLexer
#!/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<24.1" "setuptools<67"
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