##// 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
Thomas De Schampheleire
scripts/validate-commits: use direct /bin/bash interpreter...
r7789 #!/bin/bash
Thomas De Schampheleire
scripts: add developer script validate-commits...
r7423 # 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
Thomas De Schampheleire
scripts: let validate-commits default to testing the draft changes upto current
r8281 revset=$1
if [ -z "$revset" ]; then
echo "Warning: no revisions specified, checking draft changes up to the current one."
revset='draft() and ancestors(.)'
fi
Thomas De Schampheleire
scripts: add developer script validate-commits...
r7423 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
Thomas De Schampheleire
scripts: let validate-commits default to testing the draft changes upto current
r8281 for rev in $(hg log -r "$revset" -T '{node}\n'); do
Thomas De Schampheleire
scripts: add developer script validate-commits...
r7423 hg log -r "$rev"
hg update "$rev"
cleanup
Mads Kiilerich
py3: use "python3 -m venv" instead of virtualenv package
r8073 python3 -m venv "$venv"
Thomas De Schampheleire
scripts: add developer script validate-commits...
r7423 source "$venv/bin/activate"
Mads Kiilerich
setup: avoid setuptools 67 - it can't handle celery's broken pytz dependency...
r8767 pip install --upgrade pip "setuptools<67"
Mads Kiilerich
docs: always use dev_requirements.txt together with main version constraints in setup.py...
r7747 pip install -e . -r dev_requirements.txt python-ldap python-pam
Thomas De Schampheleire
scripts: add developer script validate-commits...
r7423
# run-all-cleanup
Thomas De Schampheleire
scripts: properly check for errors in whitespacecleanup/run-all-cleanup...
r8209 if ! scripts/run-all-cleanup ; then
echo "run-all-cleanup encountered errors!"
Thomas De Schampheleire
scripts: add developer script validate-commits...
r7423 result="NOK"
else
Thomas De Schampheleire
scripts: properly check for errors in whitespacecleanup/run-all-cleanup...
r8209 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
Thomas De Schampheleire
scripts: add developer script validate-commits...
r7423 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