@@ -32,10 +32,19 @@ jobs:
3232 env :
3333 USE_VIRTUAL_PYTHON_ENVIRONMENT_VENV : " true"
3434 # 1. Run the script under test to create, activate and install the virtual environment
35- # 2a. Run pip in dry-run mode without installing or resolving dependencies
36- # 2b. Suppress all pip output (stderr)
37- # 2c. Check if pip *would install* anything using grep
38- # 2d. If there are missing dependencies and the environment is incomplete, return 1 (indicates all requirements already satisfied)
35+ # 2. Start with an overall check with pip
36+ # 3. Run pip in dry-mode with full output first to get all infos and fail on missing packages.
37+ # 4a. The leading exclamation mark tells the shell to invert the returned exit code.
38+ # Failing because "Would install" is missing leads to a successful execution.
39+ # 5b. Run pip in dry-run mode without installing or resolving dependencies
40+ # 5c. Suppress all pip output (stderr)
41+ # 5d. Check if pip *would install* anything using grep
42+ # 5e. If there are missing dependencies and the environment is incomplete, fail with code 1 (indicates all requirements already satisfied)
43+ # TODO remove:
44+ # pip install --dry-run --ignore-installed --requirement "./requirements.txt"
45+ # ! pip install --dry-run --no-deps --no-cache-dir --no-index --requirement "./requirements.txt" 2>/dev/null | grep -q "Would install"
3946 run : |
4047 ./scripts/activatePythonEnvironment.sh
41- pip install --dry-run --no-deps --requirement "./requirements.txt" 2>/dev/null | grep -q "Would install" || return 1
48+ source .venv/bin/activate
49+ echo "Currently activated environment: ${VIRTUAL_ENV}"
50+ ! pip install --dry-run --no-deps --ignore-installed --requirement requirements.txt 2>/dev/null
0 commit comments