##// END OF EJS Templates
venv: limit pip version to stay below 24.1...
venv: limit pip version to stay below 24.1 Latest pip version pip fail: WARNING: Ignoring version 5.0.5 of celery since it has invalid metadata: Requested celery<5.1,>=5 from .../celery-5.0.5-py3-none-any.whl (from Kallithea==0.7.0) has invalid metadata: Expected matching RIGHT_PARENTHESIS for LEFT_PARENTHESIS, after version specifier pytz (>dev) ~^ Please use pip<24.1 if you need to use this version. We already use setuptools<67 for the same reason. Pip will keep noting that a newer pip version is available. Resist the temptation to upgrade.

File last commit:

r8777:ff6c3e28 stable
r8777:ff6c3e28 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
venv: limit pip version to stay below 24.1...
r8777 pip install --upgrade "pip<24.1" "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