Sessions 5-7a: 955 tests, deployment ready

This commit is contained in:
Kev
2026-06-08 18:35:13 -04:00
parent 06b82624a2
commit 1fa04dc776
371 changed files with 49366 additions and 955 deletions
+25
View File
@@ -0,0 +1,25 @@
name: Dependency Security Scan
on:
schedule:
- cron: '0 12 * * 1' # Weekly Monday noon UTC
workflow_dispatch:
jobs:
python-audit:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.11'
- run: pip install pip-audit
- run: pip-audit -r src/services/python/requirements.txt
node-audit:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: '20'
- run: npm audit --production
+32
View File
@@ -0,0 +1,32 @@
name: VYNDR Morning Odds Scan
on:
schedule:
- cron: '0 15 * * *' # 10am ET
workflow_dispatch:
jobs:
morning-odds:
runs-on: ubuntu-latest
defaults:
run:
working-directory: src/services/python
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.11'
- name: Install dependencies
run: pip install -r requirements.txt
- name: Fetch morning odds
env:
SUPABASE_URL: ${{ secrets.SUPABASE_URL }}
SUPABASE_SERVICE_KEY: ${{ secrets.SUPABASE_SERVICE_KEY }}
ODDS_API_KEY: ${{ secrets.ODDS_API_KEY }}
SHADOW_MODE: ${{ vars.SHADOW_MODE }}
run: |
python -c "import sys; sys.path.insert(0, '.'); from blueprints.odds_scanner import fetch_and_store_odds; fetch_and_store_odds('nba', 'morning_open'); fetch_and_store_odds('mlb', 'morning_open')"
+32
View File
@@ -0,0 +1,32 @@
name: VYNDR Nightly Resolution
on:
schedule:
- cron: '0 7 * * *' # 2am ET
workflow_dispatch:
jobs:
nightly-resolution:
runs-on: ubuntu-latest
defaults:
run:
working-directory: src/services/python
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.11'
- name: Install dependencies
run: pip install -r requirements.txt
- name: Run nightly resolution
env:
SUPABASE_URL: ${{ secrets.SUPABASE_URL }}
SUPABASE_SERVICE_KEY: ${{ secrets.SUPABASE_SERVICE_KEY }}
ODDS_API_KEY: ${{ secrets.ODDS_API_KEY }}
SHADOW_MODE: ${{ vars.SHADOW_MODE }}
run: |
python -c "import sys; sys.path.insert(0, '.'); from blueprints.resolution import nightly_resolution_job; from datetime import date, timedelta; nightly_resolution_job((date.today() - timedelta(days=1)).isoformat())"
+50
View File
@@ -0,0 +1,50 @@
name: VYNDR Pre-Game Scans
on:
schedule:
- cron: '0 20 * * *' # 3pm ET
- cron: '0 22 * * *' # 5pm ET
- cron: '30 23 * * *' # 6:30pm ET
workflow_dispatch:
jobs:
pregame-scan:
runs-on: ubuntu-latest
defaults:
run:
working-directory: src/services/python
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.11'
- name: Install dependencies
run: pip install -r requirements.txt
- name: Fetch pregame odds
env:
SUPABASE_URL: ${{ secrets.SUPABASE_URL }}
SUPABASE_SERVICE_KEY: ${{ secrets.SUPABASE_SERVICE_KEY }}
ODDS_API_KEY: ${{ secrets.ODDS_API_KEY }}
SHADOW_MODE: ${{ vars.SHADOW_MODE }}
run: |
python -c "import sys; sys.path.insert(0, '.'); from blueprints.odds_scanner import fetch_and_store_odds; fetch_and_store_odds('nba', 'pregame'); fetch_and_store_odds('mlb', 'pregame')"
- name: Detect line movement
env:
SUPABASE_URL: ${{ secrets.SUPABASE_URL }}
SUPABASE_SERVICE_KEY: ${{ secrets.SUPABASE_SERVICE_KEY }}
SHADOW_MODE: ${{ vars.SHADOW_MODE }}
run: |
python -c "import sys; sys.path.insert(0, '.'); from blueprints.line_movement import detect_line_movement; detect_line_movement('nba'); detect_line_movement('mlb')"
- name: Check lineups
env:
SUPABASE_URL: ${{ secrets.SUPABASE_URL }}
SUPABASE_SERVICE_KEY: ${{ secrets.SUPABASE_SERVICE_KEY }}
SHADOW_MODE: ${{ vars.SHADOW_MODE }}
run: |
python -c "import sys; sys.path.insert(0, '.'); from blueprints.lineup_check import check_lineups; check_lineups('nba'); check_lineups('mlb')"
+31
View File
@@ -0,0 +1,31 @@
name: VYNDR Reporter Monitoring
on:
schedule:
- cron: '*/15 19-5 * * *' # Every 15min during game window
workflow_dispatch:
jobs:
reporter-poll:
runs-on: ubuntu-latest
defaults:
run:
working-directory: src/services/python
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.11'
- name: Install dependencies
run: pip install -r requirements.txt
- name: Poll reporter feeds
env:
SUPABASE_URL: ${{ secrets.SUPABASE_URL }}
SUPABASE_SERVICE_KEY: ${{ secrets.SUPABASE_SERVICE_KEY }}
SHADOW_MODE: ${{ vars.SHADOW_MODE }}
run: |
python -c "import sys; sys.path.insert(0, '.'); from blueprints.reporter_monitor import poll_reporter_feeds; poll_reporter_feeds('nba'); poll_reporter_feeds('mlb')"
+31
View File
@@ -0,0 +1,31 @@
name: VYNDR Weather Monitoring
on:
schedule:
- cron: '*/30 19-4 * * *' # Every 30min during game window
workflow_dispatch:
jobs:
weather-check:
runs-on: ubuntu-latest
defaults:
run:
working-directory: src/services/python
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.11'
- name: Install dependencies
run: pip install -r requirements.txt
- name: Check weather for regrade
env:
SUPABASE_URL: ${{ secrets.SUPABASE_URL }}
SUPABASE_SERVICE_KEY: ${{ secrets.SUPABASE_SERVICE_KEY }}
SHADOW_MODE: ${{ vars.SHADOW_MODE }}
run: |
python -c "import sys; sys.path.insert(0, '.'); from blueprints.weather_monitor import check_weather_for_regrade; check_weather_for_regrade()"