Skip to content

Weekly SDK Health Check #17

Weekly SDK Health Check

Weekly SDK Health Check #17

Workflow file for this run

name: Weekly SDK Health Check
on:
schedule:
- cron: "0 14 * * 1" # Monday 6am PST / 2pm UTC
workflow_dispatch: {}
jobs:
health-check:
name: Integration Health Check
runs-on: ubuntu-latest
env:
OILPRICEAPI_KEY: ${{ secrets.OILPRICEAPI_TEST_KEY }}
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.12"
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -e '.[dev]'
# OILPRICEAPI_TEST_KEY currently resolves empty at runtime (see PR).
# Guard at the shell level so the job passes loudly (::warning::) instead
# of failing or silently skipping every test.
- name: Run integration tests
run: |
if [ -z "$OILPRICEAPI_KEY" ]; then
echo "::warning::OILPRICEAPI_TEST_KEY secret is empty/unset - live integration tests skipped"
exit 0
fi
pytest tests/ -m 'integration' -v --no-cov --timeout=60
- name: Run contract tests
run: |
if [ -z "$OILPRICEAPI_KEY" ]; then
echo "::warning::OILPRICEAPI_TEST_KEY secret is empty/unset - contract tests skipped"
exit 0
fi
pytest tests/ -m 'contract' -v --no-cov --timeout=60
- name: Check for dependency vulnerabilities
run: |
pip install pip-audit
pip-audit --strict
continue-on-error: true