diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index e6bc6d6f3..221e4a464 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -192,24 +192,24 @@ jobs: GITHUB_WORKFLOW: build githubToken: ${{ github.token }} # To cache image arch: ${{ matrix.architecture }} - distro: ubuntu20.04 # Standalone executable should be built on minimum supported OS + distro: ubuntu22.04 # Standalone executable should be built on minimum supported OS dockerRunArgs: --volume "${PWD}/repo:/repo" - install: | # Installing Python 3.10 from the Deadsnakes repo raises errors + install: | # Installing Python 3.10 from the Deadsnakes repo raises errors apt update - apt -y install zlib1g-dev libffi-dev python3.9 python3.9-dev python3.9-distutils python3-pip \ + apt -y install zlib1g-dev libffi-dev python3.10 python3.10-dev python3.10-distutils python3-pip \ python3-secretstorage # Cannot build cryptography wheel in virtual armv7 environment - python3.9 -m pip install -U pip wheel 'setuptools>=71.0.2' + python3.10 -m pip install -U pip wheel 'setuptools>=71.0.2,<81' # XXX: Keep this in sync with pyproject.toml (it can't be accessed at this stage) and exclude secretstorage - python3.9 -m pip install -U Pyinstaller mutagen pycryptodomex brotli certifi cffi \ + python3.10 -m pip install -U 'Pyinstaller>=6.13.0' mutagen pycryptodomex brotli certifi cffi \ 'requests>=2.32.2,<3' 'urllib3>=1.26.17,<3' 'websockets>=13.0' run: | cd repo - python3.9 devscripts/install_deps.py -o --include build - python3.9 devscripts/install_deps.py --include pyinstaller # Cached versions may be out of date - python3.9 devscripts/update-version.py -c "${{ inputs.channel }}" -r "${{ needs.process.outputs.origin }}" "${{ inputs.version }}" - python3.9 devscripts/make_lazy_extractors.py - python3.9 -m bundle.pyinstaller + python3.10 devscripts/install_deps.py -o --include build + python3.10 devscripts/install_deps.py --include pyinstaller # Cached versions may be out of date + python3.10 devscripts/update-version.py -c "${{ inputs.channel }}" -r "${{ needs.process.outputs.origin }}" "${{ inputs.version }}" + python3.10 devscripts/make_lazy_extractors.py + python3.10 -m bundle.pyinstaller if ${{ vars.UPDATE_TO_VERIFICATION && 'true' || 'false' }}; then arch="${{ (matrix.architecture == 'armv7' && 'armv7l') || matrix.architecture }}" @@ -473,6 +473,7 @@ jobs: lock 2024.10.22 (?!\w+_exe).+ Python 3\.8 lock 2024.10.22 win(?:_x86)?_exe Python 3\.[78].+ Windows-(?:7-|2008ServerR2) lock 2025.09.01 darwin_legacy_exe .+ + lock 2025.10.31 linux_(?:armv7l|aarch64)_exe .+-glibc2\.3[1-4]\b lockV2 yt-dlp/yt-dlp 2022.08.18.36 .+ Python 3\.6 lockV2 yt-dlp/yt-dlp 2023.11.16 (?!win_x86_exe).+ Python 3\.7 lockV2 yt-dlp/yt-dlp 2023.11.16 win_x86_exe .+ Windows-(?:Vista|2008Server) @@ -481,6 +482,7 @@ jobs: lockV2 yt-dlp/yt-dlp 2024.10.22 (?!\w+_exe).+ Python 3\.8 lockV2 yt-dlp/yt-dlp 2024.10.22 win(?:_x86)?_exe Python 3\.[78].+ Windows-(?:7-|2008ServerR2) lockV2 yt-dlp/yt-dlp 2025.09.01 darwin_legacy_exe .+ + lockV2 yt-dlp/yt-dlp 2025.10.31 linux_(?:armv7l|aarch64)_exe .+-glibc2\.3[1-4]\b lockV2 yt-dlp/yt-dlp-nightly-builds 2023.11.15.232826 (?!win_x86_exe).+ Python 3\.7 lockV2 yt-dlp/yt-dlp-nightly-builds 2023.11.15.232826 win_x86_exe .+ Windows-(?:Vista|2008Server) lockV2 yt-dlp/yt-dlp-nightly-builds 2024.10.22.051025 py2exe .+ @@ -488,6 +490,7 @@ jobs: lockV2 yt-dlp/yt-dlp-nightly-builds 2024.10.22.051025 (?!\w+_exe).+ Python 3\.8 lockV2 yt-dlp/yt-dlp-nightly-builds 2024.10.22.051025 win(?:_x86)?_exe Python 3\.[78].+ Windows-(?:7-|2008ServerR2) lockV2 yt-dlp/yt-dlp-nightly-builds 2025.09.01.234000 darwin_legacy_exe .+ + lockV2 yt-dlp/yt-dlp-nightly-builds 2025.10.31.234000 linux_(?:armv7l|aarch64)_exe .+-glibc2\.3[1-4]\b lockV2 yt-dlp/yt-dlp-master-builds 2023.11.15.232812 (?!win_x86_exe).+ Python 3\.7 lockV2 yt-dlp/yt-dlp-master-builds 2023.11.15.232812 win_x86_exe .+ Windows-(?:Vista|2008Server) lockV2 yt-dlp/yt-dlp-master-builds 2024.10.22.045052 py2exe .+ @@ -495,6 +498,7 @@ jobs: lockV2 yt-dlp/yt-dlp-master-builds 2024.10.22.060347 (?!\w+_exe).+ Python 3\.8 lockV2 yt-dlp/yt-dlp-master-builds 2024.10.22.060347 win(?:_x86)?_exe Python 3\.[78].+ Windows-(?:7-|2008ServerR2) lockV2 yt-dlp/yt-dlp-master-builds 2025.09.01.000000 darwin_legacy_exe .+ + lockV2 yt-dlp/yt-dlp-master-builds 2025.10.31.000000 linux_(?:armv7l|aarch64)_exe .+-glibc2\.3[1-4]\b EOF - name: Sign checksum files diff --git a/yt_dlp/update.py b/yt_dlp/update.py index 8f29a94e2..769cbca65 100644 --- a/yt_dlp/update.py +++ b/yt_dlp/update.py @@ -151,18 +151,6 @@ def _get_system_deprecation(): if sys.version_info < MIN_SUPPORTED: return f'Python version {major}.{minor} is no longer supported! {PYTHON_MSG}' - EXE_MSG_TMPL = ('Support for {} has been deprecated. ' - 'See https://github.com/yt-dlp/yt-dlp/{} for details.\n{}') - STOP_MSG = 'You may stop receiving updates on this version at any time!' - variant = detect_variant() - - # Temporary until aarch64/armv7l build flow is bumped to Ubuntu 22.04 and Python 3.10 - if variant in ('linux_aarch64_exe', 'linux_armv7l_exe'): - libc_ver = version_tuple(os.confstr('CS_GNU_LIBC_VERSION').partition(' ')[2]) - if libc_ver < (2, 35): - return EXE_MSG_TMPL.format('system glibc version < 2.35', 'issues/13858', STOP_MSG) - return None - return f'Support for Python version {major}.{minor} has been deprecated. {PYTHON_MSG}'