aboutsummaryrefslogtreecommitdiffstats
path: root/.github/workflows/ci.yml
diff options
context:
space:
mode:
Diffstat (limited to '.github/workflows/ci.yml')
-rw-r--r--.github/workflows/ci.yml75
1 files changed, 75 insertions, 0 deletions
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
new file mode 100644
index 000000000..6e48f9192
--- /dev/null
+++ b/.github/workflows/ci.yml
@@ -0,0 +1,75 @@
+name: CI
+on: [push]
+jobs:
+ tests:
+ name: Tests
+ runs-on: ${{ matrix.os }}
+ strategy:
+ fail-fast: true
+ matrix:
+ os: [ubuntu-latest]
+ # TODO: python 2.6
+ # 3.3, 3.4 are not running
+ python-version: [2.7, 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: [core, download]
+ run-tests-ext: [sh]
+ include:
+ # python 3.2 is only available on windows via setup-python
+ - os: windows-latest
+ python-version: 3.2
+ python-impl: cpython
+ ytdl-test-set: core
+ run-tests-ext: bat
+ - os: windows-latest
+ python-version: 3.2
+ python-impl: cpython
+ ytdl-test-set: download
+ run-tests-ext: bat
+ # jython
+ - os: ubuntu-latest
+ python-impl: jython
+ ytdl-test-set: core
+ run-tests-ext: sh
+ - 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: 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 }}
+ flake8:
+ name: Linter
+ 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 flake8
+ run: pip install flake8
+ - name: Run flake8
+ run: flake8 . \ No newline at end of file