aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey M․ <dstftw@gmail.com>2020-12-20 04:17:19 +0700
committerSergey M․ <dstftw@gmail.com>2020-12-20 06:48:20 +0700
commita8b31505edbf4d9608b2d964b936b6720dcbb40d (patch)
tree91c50b39efae1b387dff002fda9c7ccda75a1076
parent90a271e91488d439a6f19033681fb10b33d30919 (diff)
Switch to GitHub actions for CI
Travis CI has ignored our requests and does not look to be interested in providing OSS credits for youtube-dl
-rw-r--r--.github/workflows/ci.yml50
-rw-r--r--README.md3
-rw-r--r--devscripts/run_tests.bat17
3 files changed, 69 insertions, 1 deletions
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
new file mode 100644
index 000000000..99944e848
--- /dev/null
+++ b/.github/workflows/ci.yml
@@ -0,0 +1,50 @@
+name: CI
+on: [push]
+jobs:
+ tests:
+ name: Tests
+ runs-on: ${{ matrix.os }}
+ strategy:
+ fail-fast: true
+ matrix:
+ os: [ubuntu-latest]
+ # 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]
+ 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
+ ytdl-test-set: core
+ run-tests-ext: bat
+ - os: windows-latest
+ python-version: 3.2
+ ytdl-test-set: download
+ run-tests-ext: bat
+ steps:
+ - uses: actions/checkout@v2
+ - name: Set up Python ${{ matrix.python-version }}
+ uses: actions/setup-python@v2
+ with:
+ python-version: ${{ matrix.python-version }}
+ - name: Install nose
+ run: pip install nose
+ - name: Run tests
+ continue-on-error: ${{ matrix.ytdl-test-set == 'download' }}
+ 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 .
diff --git a/README.md b/README.md
index 34c6c677d..0f72211c0 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,5 @@
-[![Build Status](https://travis-ci.com/ytdl-org/youtube-dl.svg?branch=master)](https://travis-ci.com/ytdl-org/youtube-dl)
+[![Build Status](https://github.com/ytdl-org/youtube-dl/workflows/CI/badge.svg)](https://github.com/ytdl-org/youtube-dl/actions?query=workflow%3ACI)
+
youtube-dl - download videos from youtube.com or other video platforms
diff --git a/devscripts/run_tests.bat b/devscripts/run_tests.bat
new file mode 100644
index 000000000..79359b5a7
--- /dev/null
+++ b/devscripts/run_tests.bat
@@ -0,0 +1,17 @@
+@echo off
+
+rem Keep this list in sync with the `offlinetest` target in Makefile
+set DOWNLOAD_TESTS="age_restriction^|download^|iqiyi_sdk_interpreter^|socks^|subtitles^|write_annotations^|youtube_lists^|youtube_signature"
+
+if "%YTDL_TEST_SET%" == "core" (
+ set test_set="-I test_("%DOWNLOAD_TESTS%")\.py"
+ set multiprocess_args=""
+) else if "%YTDL_TEST_SET%" == "download" (
+ set test_set="-I test_(?!"%DOWNLOAD_TESTS%").+\.py"
+ set multiprocess_args="--processes=4 --process-timeout=540"
+) else (
+ echo YTDL_TEST_SET is not set or invalid
+ exit /b 1
+)
+
+nosetests test --verbose %test_set:"=% %multiprocess_args:"=%