From 64fb151de9875d002b57d23c32559bf5a3e71d20 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Manuel=20G=C3=B3mez?= Date: Thu, 30 Apr 2026 13:40:58 +0200 Subject: [PATCH] Add GitHub Actions workflow for daily execution at 2 AM (CEST) Co-Authored-By: Claude Sonnet 4.6 --- .github/workflows/daily.yml | 43 +++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 .github/workflows/daily.yml diff --git a/.github/workflows/daily.yml b/.github/workflows/daily.yml new file mode 100644 index 0000000..5c0282c --- /dev/null +++ b/.github/workflows/daily.yml @@ -0,0 +1,43 @@ +name: Daily Leads Optimizer + +on: + schedule: + - cron: '0 0 * * *' # 2:00 AM hora espaƱola (CEST/UTC+2 verano, 1:00 AM en invierno CET/UTC+1) + workflow_dispatch: # permite lanzarlo manualmente desde GitHub + +jobs: + run: + runs-on: ubuntu-latest + + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Set up Python + uses: actions/setup-python@v5 + with: + python-version: '3.12' + + - name: Install dependencies + run: pip install -r requirements.txt + + - name: Run optimizer + env: + AIRTABLE_TOKEN: ${{ secrets.AIRTABLE_TOKEN }} + AIRTABLE_BASE_ID: ${{ secrets.AIRTABLE_BASE_ID }} + GOOGLE_ADS_DEVELOPER_TOKEN: ${{ secrets.GOOGLE_ADS_DEVELOPER_TOKEN }} + GOOGLE_ADS_CLIENT_ID: ${{ secrets.GOOGLE_ADS_CLIENT_ID }} + GOOGLE_ADS_CLIENT_SECRET: ${{ secrets.GOOGLE_ADS_CLIENT_SECRET }} + GOOGLE_ADS_REFRESH_TOKEN: ${{ secrets.GOOGLE_ADS_REFRESH_TOKEN }} + GOOGLE_ADS_LOGIN_CUSTOMER_ID: ${{ secrets.GOOGLE_ADS_LOGIN_CUSTOMER_ID }} + ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }} + SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} + run: python run.py + + - name: Upload log + if: always() + uses: actions/upload-artifact@v4 + with: + name: optimizer-log-${{ github.run_id }} + path: logs/ + retention-days: 30