Bump yt-dlp to 2025.10.22 (#155174) #511
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Build wheels | |
| # yamllint disable-line rule:truthy | |
| on: | |
| workflow_dispatch: | |
| schedule: | |
| - cron: "0 4 * * *" | |
| push: | |
| branches: | |
| - dev | |
| - rc | |
| paths: | |
| - ".github/workflows/wheels.yml" | |
| - "homeassistant/package_constraints.txt" | |
| - "requirements_all.txt" | |
| - "requirements.txt" | |
| - "script/gen_requirements_all.py" | |
| env: | |
| DEFAULT_PYTHON: "3.13" | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref_name}} | |
| cancel-in-progress: true | |
| jobs: | |
| init: | |
| name: Initialize wheels builder | |
| if: github.repository_owner == 'home-assistant' | |
| runs-on: ubuntu-latest | |
| outputs: | |
| architectures: ${{ steps.info.outputs.architectures }} | |
| steps: | |
| - &checkout | |
| name: Checkout the repository | |
| uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 | |
| - name: Set up Python ${{ env.DEFAULT_PYTHON }} | |
| id: python | |
| uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0 | |
| with: | |
| python-version: ${{ env.DEFAULT_PYTHON }} | |
| check-latest: true | |
| - name: Create Python virtual environment | |
| run: | | |
| python -m venv venv | |
| . venv/bin/activate | |
| python --version | |
| pip install "$(grep '^uv' < requirements.txt)" | |
| uv pip install -r requirements.txt | |
| - name: Get information | |
| id: info | |
| uses: home-assistant/actions/helpers/info@master | |
| - name: Create requirements_diff file | |
| run: | | |
| if [[ ${{ github.event_name }} =~ (schedule|workflow_dispatch) ]]; then | |
| touch requirements_diff.txt | |
| else | |
| curl -s -o requirements_diff.txt https://raw.githubusercontent.com/home-assistant/core/master/requirements.txt | |
| fi | |
| - name: Write env-file | |
| run: | | |
| ( | |
| echo "GRPC_PYTHON_BUILD_SYSTEM_OPENSSL=true" | |
| echo "GRPC_PYTHON_BUILD_WITH_CYTHON=true" | |
| # Fix out of memory issues with rust | |
| echo "CARGO_NET_GIT_FETCH_WITH_CLI=true" | |
| # OpenCV headless installation | |
| echo "CI_BUILD=1" | |
| echo "ENABLE_HEADLESS=1" | |
| # Use C-Extension for SQLAlchemy | |
| echo "REQUIRE_SQLALCHEMY_CEXT=1" | |
| # Add additional pip wheel build constraints | |
| echo "PIP_CONSTRAINT=build_constraints.txt" | |
| ) > .env_file | |
| - name: Write pip wheel build constraints | |
| run: | | |
| ( | |
| # ninja 1.11.1.2 + 1.11.1.3 seem to be broken on at least armhf | |
| # this caused the numpy builds to fail | |
| # https://github.com/scikit-build/ninja-python-distributions/issues/274 | |
| echo "ninja==1.11.1.1" | |
| ) > build_constraints.txt | |
| - name: Upload env_file | |
| uses: &actions-upload-artifact actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0 | |
| with: | |
| name: env_file | |
| path: ./.env_file | |
| include-hidden-files: true | |
| overwrite: true | |
| - name: Upload build_constraints | |
| uses: *actions-upload-artifact | |
| with: | |
| name: build_constraints | |
| path: ./build_constraints.txt | |
| overwrite: true | |
| - name: Upload requirements_diff | |
| uses: *actions-upload-artifact | |
| with: | |
| name: requirements_diff | |
| path: ./requirements_diff.txt | |
| overwrite: true | |
| - name: Generate requirements | |
| run: | | |
| . venv/bin/activate | |
| python -m script.gen_requirements_all ci | |
| - name: Upload requirements_all_wheels | |
| uses: *actions-upload-artifact | |
| with: | |
| name: requirements_all_wheels | |
| path: ./requirements_all_wheels_*.txt | |
| core: | |
| name: Build Core wheels ${{ matrix.abi }} for ${{ matrix.arch }} (musllinux_1_2) | |
| if: github.repository_owner == 'home-assistant' | |
| needs: init | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| fail-fast: false | |
| matrix: &matrix-build | |
| abi: ["cp313", "cp314"] | |
| arch: ${{ fromJson(needs.init.outputs.architectures) }} | |
| include: | |
| - os: ubuntu-latest | |
| - arch: aarch64 | |
| os: ubuntu-24.04-arm | |
| exclude: | |
| - abi: cp314 | |
| arch: armv7 | |
| - abi: cp314 | |
| arch: armhf | |
| - abi: cp314 | |
| arch: i386 | |
| steps: | |
| - *checkout | |
| - &download-env-file | |
| name: Download env_file | |
| uses: &actions-download-artifact actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0 | |
| with: | |
| name: env_file | |
| - &download-build-constraints | |
| name: Download build_constraints | |
| uses: *actions-download-artifact | |
| with: | |
| name: build_constraints | |
| - &download-requirements-diff | |
| name: Download requirements_diff | |
| uses: *actions-download-artifact | |
| with: | |
| name: requirements_diff | |
| - name: Adjust build env | |
| run: | | |
| # Don't build wheels for uv as uv requires a greater version of rust as currently available on alpine | |
| sed -i "/uv/d" requirements.txt | |
| sed -i "/uv/d" requirements_diff.txt | |
| # home-assistant/wheels doesn't support sha pinning | |
| - name: Build wheels | |
| uses: &home-assistant-wheels home-assistant/[email protected] | |
| with: | |
| abi: ${{ matrix.abi }} | |
| tag: musllinux_1_2 | |
| arch: ${{ matrix.arch }} | |
| wheels-key: ${{ secrets.WHEELS_KEY }} | |
| env-file: true | |
| apk: "libffi-dev;openssl-dev;yaml-dev;nasm;zlib-ng-dev" | |
| skip-binary: aiohttp;multidict;propcache;yarl;SQLAlchemy | |
| constraints: "homeassistant/package_constraints.txt" | |
| requirements-diff: "requirements_diff.txt" | |
| requirements: "requirements.txt" | |
| integrations: | |
| name: Build wheels ${{ matrix.abi }} for ${{ matrix.arch }} | |
| if: github.repository_owner == 'home-assistant' | |
| needs: init | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| fail-fast: false | |
| matrix: *matrix-build | |
| steps: | |
| - *checkout | |
| - *download-env-file | |
| - *download-build-constraints | |
| - *download-requirements-diff | |
| - name: Download requirements_all_wheels | |
| uses: *actions-download-artifact | |
| with: | |
| name: requirements_all_wheels | |
| - name: Adjust build env | |
| run: | | |
| if [ "${{ matrix.arch }}" = "i386" ]; then | |
| echo "NPY_DISABLE_SVML=1" >> .env_file | |
| fi | |
| # Do not pin numpy in wheels building | |
| sed -i "/numpy/d" homeassistant/package_constraints.txt | |
| # Don't build wheels for uv as uv requires a greater version of rust as currently available on alpine | |
| sed -i "/uv/d" requirements.txt | |
| sed -i "/uv/d" requirements_diff.txt | |
| # home-assistant/wheels doesn't support sha pinning | |
| - name: Build wheels | |
| uses: *home-assistant-wheels | |
| with: | |
| abi: ${{ matrix.abi }} | |
| tag: musllinux_1_2 | |
| arch: ${{ matrix.arch }} | |
| wheels-key: ${{ secrets.WHEELS_KEY }} | |
| env-file: true | |
| apk: "bluez-dev;libffi-dev;openssl-dev;glib-dev;eudev-dev;libxml2-dev;libxslt-dev;libpng-dev;libjpeg-turbo-dev;tiff-dev;cups-dev;gmp-dev;mpfr-dev;mpc1-dev;ffmpeg-dev;gammu-dev;yaml-dev;openblas-dev;fftw-dev;lapack-dev;gfortran;blas-dev;eigen-dev;freetype-dev;glew-dev;harfbuzz-dev;hdf5-dev;libdc1394-dev;libtbb-dev;mesa-dev;openexr-dev;openjpeg-dev;uchardet-dev;nasm;zlib-ng-dev" | |
| skip-binary: aiohttp;charset-normalizer;grpcio;multidict;SQLAlchemy;propcache;protobuf;pymicro-vad;yarl | |
| constraints: "homeassistant/package_constraints.txt" | |
| requirements-diff: "requirements_diff.txt" | |
| requirements: "requirements_all.txt" |