]> jfr.im git - yt-dlp.git/blob - .github/workflows/ci.yml
Preparing for release
[yt-dlp.git] / .github / workflows / ci.yml
1 name: CI
2 on: [push]
3 jobs:
4 tests:
5 name: Tests
6 runs-on: ${{ matrix.os }}
7 strategy:
8 fail-fast: true
9 matrix:
10 os: [ubuntu-latest]
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-latest
30 python-impl: jython
31 ytdl-test-set: core
32 run-tests-ext: sh
33 - os: ubuntu-latest
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 http://search.maven.org/remotecontent?filepath=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 run: pip install nose
57 - name: Run tests
58 continue-on-error: ${{ matrix.ytdl-test-set == 'download' || matrix.python-impl == 'jython' }}
59 env:
60 YTDL_TEST_SET: ${{ matrix.ytdl-test-set }}
61 run: ./devscripts/run_tests.${{ matrix.run-tests-ext }}
62 flake8:
63 name: Linter
64 runs-on: ubuntu-latest
65 steps:
66 - uses: actions/checkout@v2
67 - name: Set up Python
68 uses: actions/setup-python@v2
69 with:
70 python-version: 3.9
71 - name: Install flake8
72 run: pip install flake8
73 - name: Run flake8
74 run: flake8 .