name: Daily Horizon Summary on: schedule: # GitHub scheduled workflows use UTC. 20:00 UTC is 04:00 Asia/Shanghai; # this intentionally runs early to offset the observed schedule delay. - cron: '0 23 * * *' workflow_dispatch: # Allow manual trigger jobs: daily-summary: runs-on: ubuntu-latest permissions: contents: write # Needed to commit changes steps: - name: Checkout code uses: actions/checkout@v6 - name: Set up Python uses: actions/setup-python@v5 with: python-version: "3.12" - name: Install uv uses: astral-sh/setup-uv@v6 with: version: "0.11.26" - name: Install dependencies run: uv sync - name: Prepare GitHub Actions config run: cp data/config.github.json data/config.json - name: Run Horizon env: # Map secrets to environment variables expected by config.json # Modify these based on your data/config.github.json provider settings OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }} ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }} GOOGLE_API_KEY: ${{ secrets.GOOGLE_API_KEY }} LWN_KEY: ${{ secrets.LWN_KEY }} DEEPSEEK_API_KEY: ${{ secrets.DEEPSEEK_API_KEY }} HORIZON_WEBHOOK_URL: ${{ secrets.HORIZON_WEBHOOK_URL }} run: uv run horizon --hours 24 - name: Set current date as environment variable run: echo "DATE=$(date +'%Y-%m-%d')" >> $GITHUB_ENV - name: Deploy to GitHub Pages uses: peaceiris/actions-gh-pages@v4 with: github_token: ${{ secrets.GITHUB_TOKEN }} publish_dir: ./docs keep_files: true # Keep existing summaries on gh-pages branch commit_message: "📝 Daily Summary: ${{ env.DATE }}" publish_branch: gh-pages enable_jekyll: true