diff --git a/util/jenkins/virtualenv_tools.sh b/util/jenkins/virtualenv_tools.sh index 01f51d3ae5c..9acde9cba9d 100644 --- a/util/jenkins/virtualenv_tools.sh +++ b/util/jenkins/virtualenv_tools.sh @@ -36,10 +36,20 @@ function create_virtualenv () { fi # create a unique hash for the job based location of where job is run + echo "Creating venv for $(pwd)" venvname="$(pwd | md5sum | cut -d' ' -f1)" + # Determine which virtualenv executable to use + if [[ "$@" == *"--python=python3.12"* ]]; then + # Use python3.12 with -m virtualenv if Python 3.12 is specified + venv_exec="/opt/python3.12/bin/python3.12 -m virtualenv" + else + # Use the system default virtualenv for other Python versions + venv_exec="virtualenv" + fi + # create the virtualenv - virtualenv "$@" "$JOBVENVDIR/$venvname" + "$venv_exec" "$@" "$JOBVENVDIR/$venvname" # This variable is created in global scope if function is sourced # so we can access it after running this function.