name: Core Tests on: push: branches: [ main ] paths: - src/** - poetry.lock - pyproject.toml pull_request: paths: - src/** - poetry.lock - pyproject.toml jobs: tests: runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: python-version: ["3.10", "3.11", "3.12"] os: [ubuntu-22.04, ubuntu-latest] defaults: run: working-directory: ./ steps: - uses: actions/checkout@v4 - name: Install ffmpeg run: sudo apt-get update && sudo apt-get install -y ffmpeg - name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} - name: Install latest Poetry run: pipx install poetry - name: Cache Poetry and pip artifacts uses: actions/cache@v4 with: path: | ~/.cache/pypoetry ~/.cache/pip key: poetry-${{ matrix.os }}-${{ matrix.python-version }}-${{ hashFiles('**/poetry.lock') }} - name: Install dependencies from source only run: poetry install --no-interaction --with dev - name: Run Core Tests run: | poetry run auto-archiver --version || true poetry run pytest -ra -v -m "not download"