From: Andrew Grimberg Date: Wed, 4 Aug 2021 13:56:17 +0000 (-0700) Subject: CI: Fix pre-commit tox X-Git-Tag: v0.7.1~1 X-Git-Url: https://gerrit.linuxfoundation.org/infra/gitweb?a=commitdiff_plain;h=9782df3f6607cdb0384acab9eeb9e9bd74d73e04;p=releng%2Fdocs-conf.git CI: Fix pre-commit tox The gitlint check is not working properly in CI. This change to tox will make it so that tox works correctly both locally as well as in CI for running the gitlint check Signed-off-by: Andrew Grimberg Change-Id: Ib2bd5b3b0159a5aee27a157b7e16269474681cd8 --- diff --git a/tox.ini b/tox.ini index 9664f40..c41e267 100644 --- a/tox.ini +++ b/tox.ini @@ -40,11 +40,30 @@ commands = [testenv:pre-commit] basepython = python3 -deps = pre-commit +allowlist_externals = + /bin/sh +deps = + pre-commit passenv = HOME commands = pre-commit run --all-files --show-diff-on-failure - pre-commit run gitlint --hook-stage commit-msg --commit-msg-filename .git/COMMIT_EDITMSG + /bin/sh -c 'if ! git config --get user.name > /dev/null; then \ + git config --global --add user.name "CI"; \ + touch .git/REMOVE_USERNAME; fi' + /bin/sh -c 'if ! git config --get user.email > /dev/null; then \ + git config --global --add user.email "ci@example.org"; \ + touch .git/REMOVE_USEREMAIL; fi' + /bin/sh -c "if [ -f .git/COMMIT_EDITMSG ]; then \ + cp .git/COMMIT_EDITMSG .git/COMMIT_MSGTOX; else \ + git log HEAD -n1 | tail -n +5 | cut -c 5- > .git/COMMIT_MSGTOX; fi" + pre-commit run gitlint --hook-stage commit-msg --commit-msg-filename .git/COMMIT_MSGTOX + /bin/sh -c "rm -f .git/COMMIT_MSGTOX" + /bin/sh -c "if [ -f .git/REMOVE_USERNAME ]; then \ + git config --global --unset user.name; \ + rm -f .git/REMOVE_USERNAME; fi" + /bin/sh -c "if [ -f .git/REMOVE_USEREMAIL ]; then \ + git config --global --unset user.email; \ + rm -f .git/REMOVE_USEREMAIL; fi" [testenv:reno] basepython = python3