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