]> jfr.im git - yt-dlp.git/blobdiff - .github/workflows/download.yml
[test] Split download tests so they can be more easily run in CI
[yt-dlp.git] / .github / workflows / download.yml
index d0edc80d61a7f9e49f942fdc999eb088d05a1d26..7fdc5595a495c26c2e7b6fe9763e2ecf8095502a 100644 (file)
@@ -1,53 +1,48 @@
 name: Download Tests
 on: [push, pull_request]
 jobs:
-  tests:
-    name: Download Tests
+  quick:
+    name: Quick Download Tests
     if: "contains(github.event.head_commit.message, 'ci run dl')"
+    runs-on: ubuntu-latest
+    steps:
+    - uses: actions/checkout@v2
+    - name: Set up Python
+      uses: actions/setup-python@v2
+      with:
+        python-version: 3.9
+    - name: Install test requirements
+      run: pip install pytest
+    - name: Run tests
+      continue-on-error: true
+      run: ./devscripts/run_tests.sh download
+
+  full:
+    name: Full Download Tests
+    if: "contains(github.event.head_commit.message, 'ci run dl all')"
     runs-on: ${{ matrix.os }}
     strategy:
       fail-fast: true
       matrix:
-        os: [ubuntu-18.04]
-        # TODO: python 2.6
-        python-version: [2.7, 3.3, 3.4, 3.5, 3.6, 3.7, 3.8, 3.9, pypy-2.7, pypy-3.6, pypy-3.7]
-        python-impl: [cpython]
-        ytdl-test-set: [download]
+        os: [ubuntu-latest]
+        python-version: ['3.6', '3.7', '3.10', 3.11-dev, pypy-3.6, pypy-3.7, pypy-3.8]
         run-tests-ext: [sh]
         include:
-        # python 3.2 is only available on windows via setup-python
+        # atleast one of each CPython/PyPy tests must be in windows
+        - os: windows-latest
+          python-version: '3.8'
+          run-tests-ext: bat
         - os: windows-latest
-          python-version: 3.2
-          python-impl: cpython
-          ytdl-test-set: download
+          python-version: pypy-3.9
           run-tests-ext: bat
-        # jython - disable for now since it takes too long to complete
-        # - os: ubuntu-latest
-        #   python-impl: jython
-        #   ytdl-test-set: download
-        #   run-tests-ext: sh
     steps:
     - uses: actions/checkout@v2
     - name: Set up Python ${{ matrix.python-version }}
       uses: actions/setup-python@v2
-      if: ${{ matrix.python-impl == 'cpython' }}
       with:
         python-version: ${{ matrix.python-version }}
-    - name: Set up Java 8
-      if: ${{ matrix.python-impl == 'jython' }}
-      uses: actions/setup-java@v1
-      with:
-        java-version: 8
-    - name: Install Jython
-      if: ${{ matrix.python-impl == 'jython' }}
-      run: |
-        wget http://search.maven.org/remotecontent?filepath=org/python/jython-installer/2.7.1/jython-installer-2.7.1.jar -O jython-installer.jar
-        java -jar jython-installer.jar -s -d "$HOME/jython"
-        echo "$HOME/jython/bin" >> $GITHUB_PATH
-    - name: Install nose
-      run: pip install nose
+    - name: Install pytest
+      run: pip install pytest
     - name: Run tests
-      continue-on-error: ${{ matrix.ytdl-test-set == 'download' || matrix.python-impl == 'jython' }}
-      env:
-        YTDL_TEST_SET: ${{ matrix.ytdl-test-set }}
-      run: ./devscripts/run_tests.${{ matrix.run-tests-ext }}
+      continue-on-error: true
+      run: ./devscripts/run_tests.${{ matrix.run-tests-ext }} download