Skip to content

Weekly FPL Update

Weekly FPL Update #8

Workflow file for this run

name: Weekly FPL Update
on:
schedule:
- cron: '0 2 * * 3'
workflow_dispatch:
jobs:
weekly-update:
runs-on: ubuntu-latest
permissions:
contents: read
issues: write
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Set up Python 3.11
uses: actions/setup-python@v5
with:
python-version: '3.11'
cache: 'pip'
cache-dependency-path: flask-api/requirements.txt
- name: Verify database secrets
run: |
if [ -z "${{ secrets.DB_HOST }}" ]; then
echo "Error: DB_HOST secret is not set"
exit 1
fi
if [ -z "${{ secrets.DB_PASSWORD }}" ]; then
echo "Error: DB_PASSWORD secret is not set"
exit 1
fi
echo "Database secrets are configured"
- name: Install Flask API dependencies
working-directory: flask-api
run: pip install -r requirements.txt
- name: Install LLM Service dependencies
working-directory: llm-service
run: pip install -r requirements-docker.txt
- name: Ingest FPL player data
working-directory: flask-api
env:
DB_HOST: ${{ secrets.DB_HOST }}
DB_USER: ${{ secrets.DB_USER }}
DB_PASSWORD: ${{ secrets.DB_PASSWORD }}
DB_NAME: ${{ secrets.DB_NAME }}
DB_PORT: ${{ secrets.DB_PORT }}
run: |
echo "Ingesting FPL player data..."
python scripts/ingest_elo_and_fpl.py
- name: Retrain ML model
working-directory: flask-api
env:
DB_HOST: ${{ secrets.DB_HOST }}
DB_USER: ${{ secrets.DB_USER }}
DB_PASSWORD: ${{ secrets.DB_PASSWORD }}
DB_NAME: ${{ secrets.DB_NAME }}
DB_PORT: ${{ secrets.DB_PORT }}
run: |
echo "Retraining ML model..."
python train_model.py
- name: Scrape latest FPL articles
working-directory: llm-service/scraper
env:
DB_HOST: ${{ secrets.DB_HOST }}
DB_USER: ${{ secrets.DB_USER }}
DB_PASSWORD: ${{ secrets.DB_PASSWORD }}
DB_NAME: ${{ secrets.DB_NAME }}
DB_PORT: ${{ secrets.DB_PORT }}
run: |
echo "Scraping latest FPL articles..."
python weekly_scraper.py --max-articles 20
- name: Update vector database
working-directory: llm-service
env:
DB_HOST: ${{ secrets.DB_HOST }}
DB_USER: ${{ secrets.DB_USER }}
DB_PASSWORD: ${{ secrets.DB_PASSWORD }}
DB_NAME: ${{ secrets.DB_NAME }}
DB_PORT: ${{ secrets.DB_PORT }}
run: |
echo "Updating vector database..."
python tests/test_ingestion.py
- name: Notify on failure
if: failure()
uses: actions/github-script@v7
continue-on-error: true
with:
script: |
await github.rest.issues.create({
owner: context.repo.owner,
repo: context.repo.repo,
title: 'Weekly FPL Update Failed',
body: 'The scheduled weekly FPL update failed. Check the workflow logs.'
});