diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 405531e78..f644cc10b 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -7,7 +7,6 @@ on: jobs: build_unix: - runs-on: ubuntu-latest outputs: @@ -44,7 +43,7 @@ jobs: draft: false prerelease: false - name: Upload yt-dlp Unix binary - id: upload-release-asset + id: upload-release-asset uses: actions/upload-release-asset@v1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} @@ -74,14 +73,12 @@ jobs: twine upload dist/* build_windows: - runs-on: windows-latest + needs: build_unix outputs: sha2_windows: ${{ steps.sha2_file_win.outputs.sha2_windows }} - needs: build_unix - steps: - uses: actions/checkout@v2 - name: Set up Python @@ -114,14 +111,12 @@ jobs: run: echo "::set-output name=sha2_windows::$((Get-FileHash dist\yt-dlp.exe -Algorithm SHA256).Hash.ToLower())" build_windows32: - runs-on: windows-latest + needs: [build_unix, build_windows] outputs: sha2_windows32: ${{ steps.sha2_file_win32.outputs.sha2_windows32 }} - needs: [build_unix, build_windows] - steps: - uses: actions/checkout@v2 - name: Set up Python 3.4.4 32-Bit @@ -153,10 +148,16 @@ jobs: - name: Get SHA2-256SUMS for yt-dlp_x86.exe id: sha2_file_win32 run: echo "::set-output name=sha2_windows32::$((Get-FileHash dist\yt-dlp_x86.exe -Algorithm SHA256).Hash.ToLower())" + + finish: + runs-on: ubuntu-latest + needs: [build_unix, build_windows, build_windows32] + + steps: - name: Make SHA2-256SUMS file env: SHA2_WINDOWS: ${{ needs.build_windows.outputs.sha2_windows }} - SHA2_WINDOWS32: ${{ steps.sha2_file_win32.outputs.sha2_windows32 }} + SHA2_WINDOWS32: ${{ needs.build_windows32.outputs.sha2_windows32 }} SHA2_UNIX: ${{ needs.build_unix.outputs.sha2_unix }} YTDLP_VERSION: ${{ needs.build_unix.outputs.ytdlp_version }} run: | @@ -164,7 +165,6 @@ jobs: echo "yt-dlp.exe:${env:SHA2_WINDOWS}" >> SHA2-256SUMS echo "yt-dlp_x86.exe:${env:SHA2_WINDOWS32}" >> SHA2-256SUMS echo "yt-dlp:${env:SHA2_UNIX}" >> SHA2-256SUMS - - name: Upload 256SUMS file id: upload-sums uses: actions/upload-release-asset@v1 diff --git a/.github/workflows/core.yml b/.github/workflows/core.yml index ea3d5ca41..abf7739eb 100644 --- a/.github/workflows/core.yml +++ b/.github/workflows/core.yml @@ -9,53 +9,23 @@ jobs: fail-fast: false matrix: os: [ubuntu-18.04] - # 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] - python-impl: [cpython] - ytdl-test-set: [core] + python-version: [3.6, 3.7, 3.8, 3.9, pypy-3.6, pypy-3.7] 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 + python-version: 3.4 # Windows x86 build is still in 3.4 run-tests-ext: bat - # jython - - os: ubuntu-latest - python-impl: jython - ytdl-test-set: core - 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 https://repo1.maven.org/maven2/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 - if: ${{ matrix.python-impl != 'jython' }} run: pip install nose - - name: Install nose (Jython) - if: ${{ matrix.python-impl == 'jython' }} - # Working around deprecation of support for non-SNI clients at PyPI CDN (see https://status.python.org/incidents/hzmjhqsdjqgb) - run: | - wget https://files.pythonhosted.org/packages/99/4f/13fb671119e65c4dce97c60e67d3fd9e6f7f809f2b307e2611f4701205cb/nose-1.3.7-py2-none-any.whl - pip install nose-1.3.7-py2-none-any.whl - name: Run tests - continue-on-error: ${{ matrix.ytdl-test-set == 'download' || matrix.python-impl == 'jython' }} + continue-on-error: False env: - YTDL_TEST_SET: ${{ matrix.ytdl-test-set }} + YTDL_TEST_SET: core run: ./devscripts/run_tests.${{ matrix.run-tests-ext }} # Linter is in quick-test diff --git a/.github/workflows/download.yml b/.github/workflows/download.yml index 6c8ddb25f..6b24ddd6b 100644 --- a/.github/workflows/download.yml +++ b/.github/workflows/download.yml @@ -9,52 +9,22 @@ jobs: fail-fast: true matrix: os: [ubuntu-18.04] - # 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] - python-impl: [cpython] - ytdl-test-set: [download] + python-version: [3.6, 3.7, 3.8, 3.9, pypy-3.6, pypy-3.7] 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: download + python-version: 3.4 # Windows x86 build is still in 3.4 run-tests-ext: bat - # jython - disable for now since it takes too long to complete - # - 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 https://repo1.maven.org/maven2/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 - if: ${{ matrix.python-impl != 'jython' }} run: pip install nose - - name: Install nose (Jython) - if: ${{ matrix.python-impl == 'jython' }} - # Working around deprecation of support for non-SNI clients at PyPI CDN (see https://status.python.org/incidents/hzmjhqsdjqgb) - run: | - wget https://files.pythonhosted.org/packages/99/4f/13fb671119e65c4dce97c60e67d3fd9e6f7f809f2b307e2611f4701205cb/nose-1.3.7-py2-none-any.whl - pip install nose-1.3.7-py2-none-any.whl - name: Run tests - continue-on-error: ${{ matrix.ytdl-test-set == 'download' || matrix.python-impl == 'jython' }} + continue-on-error: true env: - YTDL_TEST_SET: ${{ matrix.ytdl-test-set }} + YTDL_TEST_SET: download run: ./devscripts/run_tests.${{ matrix.run-tests-ext }} diff --git a/setup.py b/setup.py index 7353f5699..22547fc5f 100644 --- a/setup.py +++ b/setup.py @@ -88,26 +88,16 @@ setup( 'Development Status :: 5 - Production/Stable', 'Environment :: Console', 'Programming Language :: Python', - 'Programming Language :: Python :: 2', - 'Programming Language :: Python :: 2.6', - 'Programming Language :: Python :: 2.7', - 'Programming Language :: Python :: 3', - 'Programming Language :: Python :: 3.2', - 'Programming Language :: Python :: 3.3', - 'Programming Language :: Python :: 3.4', - 'Programming Language :: Python :: 3.5', 'Programming Language :: Python :: 3.6', 'Programming Language :: Python :: 3.7', 'Programming Language :: Python :: 3.8', 'Programming Language :: Python :: Implementation', 'Programming Language :: Python :: Implementation :: CPython', - 'Programming Language :: Python :: Implementation :: IronPython', - 'Programming Language :: Python :: Implementation :: Jython', 'Programming Language :: Python :: Implementation :: PyPy', 'License :: Public Domain', 'Operating System :: OS Independent', ], - python_requires='>=2.6', + python_requires='>=3.6', cmdclass={'build_lazy_extractors': build_lazy_extractors}, **params