Fix generate_supported pre commit to run in venv (#1085)

I noticed after building a new linux instance that running `git commit`
when the virtual environment is not active causes the pre-commit to
fail, as the `generate_supported` hook is not explicitly configured to
run in the virtual env. This PR calls `generate_supported` via the
`run-in-env.sh` script.
This commit is contained in:
Steven B. 2024-07-28 19:41:33 +01:00 committed by GitHub
parent 7416e855f1
commit 91bf9bb73d
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 7 additions and 3 deletions

View File

@ -29,7 +29,7 @@ repos:
- id: mypy
name: mypy
entry: devtools/run-in-env.sh mypy
language: script
language: system
types_or: [python, pyi]
require_serial: true
exclude: | # exclude required because --all-files passes py and pyi
@ -39,7 +39,7 @@ repos:
- id: generate-supported
name: Generate supported devices
description: This hook generates the supported device sections of README.md and SUPPORTED.md
entry: devtools/generate_supported.py
entry: devtools/run-in-env.sh ./devtools/generate_supported.py
language: system # Required or pre-commit creates a new venv
verbose: true # Show output on success
types: [json]

View File

@ -1,11 +1,15 @@
#!/usr/bin/env bash
# pre-commit by default runs hooks in an isolated environment.
# For some hooks it's needed to run in the virtual environment so this script will activate it.
OS_KERNEL=$(uname -s)
OS_VER=$(uname -v)
if [[ ( $OS_KERNEL == "Linux" && $OS_VER == *"Microsoft"* ) ]]; then
echo "Pre-commit hook needs git-bash to run. It cannot run in the windows linux subsystem."
echo "Add git bin directory to the front of your path variable, e.g:"
echo "set PATH=C:\Program Files\Git\bin;%PATH%"
echo "set PATH=C:\Program Files\Git\bin;%PATH% (for CMD prompt)"
echo "\$env:Path = 'C:\Program Files\Git\bin;' + \$env:Path (for Powershell prompt)"
exit 1
fi
if [[ "$(expr substr $OS_KERNEL 1 10)" == "MINGW64_NT" ]]; then