jobs:
build_unix:
-
runs-on: ubuntu-latest
outputs:
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 }}
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
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
- 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: |
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
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
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 }}
'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