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 .