Pin Python package versions for CI stability:
- pyyaml 6.0.1
- pytest 7.4.0
- All dependencies pinned to specific versions
Improve all CI jobs:
- Add cache-dependency-path to setup-python
- Add 'pip cache purge' after Python setup
- Prevents non-deterministic package installation
This resolves intermittent CI failures (runs appearing to pass/fail randomly).
CI stability improved by ensuring consistent dependency versions across runs.
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
- Add requirements.txt with core Python dependencies
- Replace --target installation with setup-python@v4 (official action)
- All jobs now use cache: 'pip' for consistent caching
- Explicit 'pip install -r requirements.txt' or specific packages
- Fixes 'No module named pytest' in ci-storage job
- Fixes 'No file matched to requirements.txt' in Setup Python step
- All jobs: pyyaml, requests, openpyxl, pytest, psycopg installed globally
- Removes PYTHONPATH env vars (no longer needed with proper setup-python)
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>