From 9782df3f6607cdb0384acab9eeb9e9bd74d73e04 Mon Sep 17 00:00:00 2001 From: Andrew Grimberg Date: Wed, 4 Aug 2021 06:56:17 -0700 Subject: [PATCH] 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 --- tox.ini | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) 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 -- 2.16.6