youtube-dl

Another place where youtube-dl lives on
git clone git://git.oshgnacknak.de/youtube-dl.git
Log | Files | Refs | README | LICENSE

ci.yml (2818B)


      1 name: CI
      2 on: [push, pull_request]
      3 jobs:
      4   tests:
      5     name: Tests
      6     runs-on: ${{ matrix.os }}
      7     strategy:
      8       fail-fast: true
      9       matrix:
     10         os: [ubuntu-18.04]
     11         # TODO: python 2.6
     12         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]
     13         python-impl: [cpython]
     14         ytdl-test-set: [core, download]
     15         run-tests-ext: [sh]
     16         include:
     17         # python 3.2 is only available on windows via setup-python
     18         - os: windows-latest
     19           python-version: 3.2
     20           python-impl: cpython
     21           ytdl-test-set: core
     22           run-tests-ext: bat
     23         - os: windows-latest
     24           python-version: 3.2
     25           python-impl: cpython
     26           ytdl-test-set: download
     27           run-tests-ext: bat
     28         # jython
     29         - os: ubuntu-18.04
     30           python-impl: jython
     31           ytdl-test-set: core
     32           run-tests-ext: sh
     33         - os: ubuntu-18.04
     34           python-impl: jython
     35           ytdl-test-set: download
     36           run-tests-ext: sh
     37     steps:
     38     - uses: actions/checkout@v2
     39     - name: Set up Python ${{ matrix.python-version }}
     40       uses: actions/setup-python@v2
     41       if: ${{ matrix.python-impl == 'cpython' }}
     42       with:
     43         python-version: ${{ matrix.python-version }}
     44     - name: Set up Java 8
     45       if: ${{ matrix.python-impl == 'jython' }}
     46       uses: actions/setup-java@v1
     47       with:
     48         java-version: 8
     49     - name: Install Jython
     50       if: ${{ matrix.python-impl == 'jython' }}
     51       run: |
     52         wget https://repo1.maven.org/maven2/org/python/jython-installer/2.7.1/jython-installer-2.7.1.jar -O jython-installer.jar
     53         java -jar jython-installer.jar -s -d "$HOME/jython"
     54         echo "$HOME/jython/bin" >> $GITHUB_PATH
     55     - name: Install nose
     56       if: ${{ matrix.python-impl != 'jython' }}
     57       run: pip install nose
     58     - name: Install nose (Jython)
     59       if: ${{ matrix.python-impl == 'jython' }}
     60       # Working around deprecation of support for non-SNI clients at PyPI CDN (see https://status.python.org/incidents/hzmjhqsdjqgb)
     61       run: |
     62         wget https://files.pythonhosted.org/packages/99/4f/13fb671119e65c4dce97c60e67d3fd9e6f7f809f2b307e2611f4701205cb/nose-1.3.7-py2-none-any.whl
     63         pip install nose-1.3.7-py2-none-any.whl
     64     - name: Run tests
     65       continue-on-error: ${{ matrix.ytdl-test-set == 'download' || matrix.python-impl == 'jython' }}
     66       env:
     67         YTDL_TEST_SET: ${{ matrix.ytdl-test-set }}
     68       run: ./devscripts/run_tests.${{ matrix.run-tests-ext }}
     69   flake8:
     70     name: Linter
     71     runs-on: ubuntu-latest
     72     steps:
     73     - uses: actions/checkout@v2
     74     - name: Set up Python
     75       uses: actions/setup-python@v2
     76       with:
     77         python-version: 3.9
     78     - name: Install flake8
     79       run: pip install flake8
     80     - name: Run flake8
     81       run: flake8 .