##// END OF EJS Templates
setup: avoid setuptools 67 - it can't handle celery's broken pytz dependency...
setup: avoid setuptools 67 - it can't handle celery's broken pytz dependency With setuptools 67 or later, launching Kallithea fails as: $ gearbox serve -c my.ini --reload 15:56:54,111 ERROR [gearbox] Expected closing RIGHT_PARENTHESIS pytz (>dev) ~^ The `packaging` vendored in setuptools cannot handle the broken syntax `Requires-Dist: pytz (>dev)` in venv/lib/python3.11/site-packages/celery-5.0.5.dist-info/METADATA . The old celery version currently used by Kallithea is wrong, and setuptools has moved on after a reasonable grace period. We thus have to work around and avoid latest setuptools. See https://github.com/pypa/setuptools/issues/3889 .

File last commit:

r8767:0a9ddb8c stable
r8767:0a9ddb8c 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 "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