name: Download Tests

on:
  schedule:
    - cron: '35 14 * * 1'
  pull_request:
    branches: [ main ]
    paths:
      - src/**

jobs:
  tests:
    runs-on: ubuntu-22.04
    strategy:
      fail-fast: false
      matrix:
        python-version: ["3.10"] # only run expensive downloads on one (lowest) python version
    defaults:
      run:
        working-directory: ./

    steps:
      - uses: actions/checkout@v4

      - name: Install poetry
        run: pipx install poetry

      - name: Set up Python ${{ matrix.python-version }}
        uses: actions/setup-python@v5
        with:
          python-version: ${{ matrix.python-version }}
          cache: 'poetry'

      - name: Install dependencies
        run: poetry install --no-interaction --with dev

      - name: Run Download Tests
        run: poetry run pytest -ra -v -x -m "download"
        env:
          TWITTER_BEARER_TOKEN: ${{ secrets.TWITTER_BEARER_TOKEN }}
