name: Core Tests on: push: branches: [ main ] paths: - src/** pull_request: paths: - src/** jobs: tests: runs-on: ubuntu-latest strategy: matrix: python-version: ["3.10", "3.11", "3.12"] defaults: run: working-directory: ./ steps: - uses: actions/checkout@v2 - name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v2 with: python-version: ${{ matrix.python-version }} - name: Install Poetry uses: snok/install-poetry@v1 with: virtualenvs-create: true virtualenvs-in-project: true virtualenvs-path: .venv - 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') }}-dev - name: Install dependencies if: steps.cached-poetry-dependencies.outputs.cache-hit != 'true' run: poetry install --no-interaction --no-root --with dev - name: Install project run: poetry install --no-interaction - name: Run Download Tests run: | source .venv/bin/activate pytest -ra -v -m "download" coverage report