Skip to content

Forecast on Quarterly Cup #17

Forecast on Quarterly Cup

Forecast on Quarterly Cup #17

name: Forecast on Quarterly Cup
on:
workflow_dispatch:
schedule:
- cron: "0 0 */2 * *" # runs at midnight every 2 days
# Add concurrency group to prevent parallel runs
concurrency:
group: ${{ github.workflow }}
cancel-in-progress: false
# Daily job to run the simple forecast bot
jobs:
daily_build:
runs-on: ubuntu-latest # determines the machine that will run the job - keep as is
steps: # sets up the steps that will be run in order
# setup repository with all necessary dependencies - keep as is
- name: Check out repository
uses: actions/checkout@v3
- uses: actions/setup-python@v4
with:
python-version: "3.11"
- name: Install poetry
uses: snok/install-poetry@v1
with:
virtualenvs-create: true
virtualenvs-in-project: true
installer-parallel: true
- name: Load cached venv
id: cached-poetry-dependencies
uses: actions/cache@v4
with:
path: .venv
key: venv-${{ runner.os }}-${{ steps.setup-python.outputs.python-version }}-${{ hashFiles('**/poetry.lock') }}
- name: Install dependencies
run: poetry install --no-interaction --no-root
- name: Run bot
run: |
poetry run python main.py --mode quarterly_cup
# this reads the environment variables from the github repository.
# Store under Settings --> Secrets and variables --> Actions
env:
METACULUS_TOKEN: ${{ secrets.METACULUS_TOKEN }} # replace this with the name of the variable under which you stored your own Metaculus token
PERPLEXITY_API_KEY: ${{ secrets.PERPLEXITY_API_KEY }}
EXA_API_KEY: ${{ secrets.EXA_API_KEY }}
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
OPENROUTER_API_KEY: ${{ secrets.OPENROUTER_API_KEY }}
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
ASKNEWS_CLIENT_ID: ${{ secrets.ASKNEWS_CLIENT_ID }}
ASKNEWS_SECRET: ${{ secrets.ASKNEWS_SECRET }}