name: Core Tests on: push: paths: - .github/** - devscripts/** - test/** - yt_dlp/**.py - '!yt_dlp/extractor/*.py' - yt_dlp/extractor/__init__.py - yt_dlp/extractor/common.py - yt_dlp/extractor/extractors.py pull_request: paths: - .github/** - devscripts/** - test/** - yt_dlp/**.py - '!yt_dlp/extractor/*.py' - yt_dlp/extractor/__init__.py - yt_dlp/extractor/common.py - yt_dlp/extractor/extractors.py permissions: contents: read concurrency: group: core-${{ github.event.pull_request.number || github.ref }} cancel-in-progress: ${{ github.event_name == 'pull_request' }} jobs: tests: name: Core Tests if: "!contains(github.event.head_commit.message, 'ci skip')" runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: os: [ubuntu-latest] # CPython 3.11 is in quick-test python-version: ['3.8', '3.9', '3.10', '3.12', pypy-3.8, pypy-3.10] include: # atleast one of each CPython/PyPy tests must be in windows - os: windows-latest python-version: '3.8' - os: windows-latest python-version: '3.12' - os: windows-latest python-version: pypy-3.9 steps: - uses: actions/checkout@v4 - name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v4 with: python-version: ${{ matrix.python-version }} - name: Install test requirements run: pip install pytest -r requirements.txt - name: Run tests continue-on-error: False run: | python3 -m yt_dlp -v || true # Print debug head python3 ./devscripts/run_tests.py core