From f000e61ea40e5e22f97993b4982726e249684e23 Mon Sep 17 00:00:00 2001 From: Tvishi Agarwal Date: Thu, 9 Apr 2026 20:49:59 +0100 Subject: [PATCH] Add GitHub Actions workflow for FX Radar data generation --- .github/workflows/update.yml | 48 ++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 .github/workflows/update.yml diff --git a/.github/workflows/update.yml b/.github/workflows/update.yml new file mode 100644 index 0000000..60bc741 --- /dev/null +++ b/.github/workflows/update.yml @@ -0,0 +1,48 @@ +name: Generate FX Radar Data + +on: + # Run 4x per day on weekdays (London market hours) + schedule: + - cron: '30 7 * * 1-5' # 7:30 AM UTC (pre-London open) + - cron: '0 12 * * 1-5' # 12:00 PM UTC (midday) + - cron: '0 15 * * 1-5' # 3:00 PM UTC (US open) + - cron: '30 20 * * 1-5' # 8:30 PM UTC (post-US close) + + # Also run on manual trigger (click "Run workflow" in GitHub) + workflow_dispatch: + + # Also run when you push changes to generate.py + push: + paths: + - 'generate.py' + +jobs: + generate: + runs-on: ubuntu-latest + + steps: + - name: Checkout repo + uses: actions/checkout@v4 + + - name: Set up Python + uses: actions/setup-python@v5 + with: + python-version: '3.11' + cache: 'pip' + + - name: Install dependencies + run: pip install -r requirements.txt + + - name: Run data generation + env: + FRED_API_KEY: ${{ secrets.FRED_API_KEY }} + FINNHUB_API_KEY: ${{ secrets.FINNHUB_API_KEY }} + run: python generate.py + + - name: Commit and push data.json + run: | + git config user.name "FX Radar Bot" + git config user.email "bot@fxradar.app" + git add data.json + git diff --staged --quiet || git commit -m "📊 Update market data $(date -u '+%Y-%m-%d %H:%M UTC')" + git push