ci: robust venv creation; verify cached venv has activate and fallback to local
Some checks failed
CI / Lint, test, and build (push) Failing after 45s

This commit is contained in:
ngxstat-bot 2025-08-16 05:17:51 -05:00
commit ab4f017ba8

View file

@ -73,15 +73,24 @@ jobs:
REQ_HASH=$(sha256sum requirements.txt | awk '{print $1}') REQ_HASH=$(sha256sum requirements.txt | awk '{print $1}')
PYVER=$(python3 -c 'import sys;print(".".join(map(str, sys.version_info[:2])))') PYVER=$(python3 -c 'import sys;print(".".join(map(str, sys.version_info[:2])))')
CACHE_VENV="/cache/venv-${REQ_HASH}-py${PYVER}" CACHE_VENV="/cache/venv-${REQ_HASH}-py${PYVER}"
if [ -d "$CACHE_VENV" ]; then if [ ! -f "$CACHE_VENV/bin/activate" ]; then
echo "Using cached virtualenv: $CACHE_VENV" echo "Preparing cached virtualenv: $CACHE_VENV"
ln -s "$CACHE_VENV" .venv rm -rf "$CACHE_VENV" || true
USE_CACHE=1
else
echo "Creating cached virtualenv: $CACHE_VENV"
python3 -m venv "$CACHE_VENV" python3 -m venv "$CACHE_VENV"
ln -s "$CACHE_VENV" .venv
fi fi
ln -sfn "$CACHE_VENV" .venv
USE_CACHE=1
else
# Fallback to local venv
python3 -m venv .venv
fi
# If the link didn't produce an activate file, fallback to local venv
if [ ! -f .venv/bin/activate ]; then
echo "Cached venv missing; creating local .venv"
rm -f .venv
python3 -m venv .venv
USE_CACHE=0
fi fi
. .venv/bin/activate . .venv/bin/activate