mirror of
https://github.com/esphome/esphome.git
synced 2026-09-20 11:38:48 +00:00
Follow-up to #16449 / #16448, extending the uv switch to the workflows that actually dominate CI cost (every push + every PR): * ``.github/actions/restore-python`` -- the composite action invoked by almost every downstream job as the venv cache-miss fallback. Installs setup-uv only when the venv cache misses and swaps ``pip install`` for ``uv pip install`` (no ``--system``: ``VIRTUAL_ENV`` is set by the activate step, so installs land in the venv that downstream jobs expect to ``. venv/bin/activate``). * ``.github/workflows/ci.yml`` ``common`` job -- the canonical venv builder whose cache feeds the rest of the workflow. * ``.github/workflows/ci.yml`` ``integration-tests`` job -- has its own venv create path on cache miss for the 3.13 matrix entry. * ``.github/workflows/ci-api-proto.yml`` -- single ``pip install`` step; uses ``uv pip install --system`` since this workflow does not set up or restore a venv. All four call sites use ``astral-sh/setup-uv@v8.1.0`` (SHA-pinned) with ``enable-cache: true`` for a persistent wheel cache across runs. Cache-hit paths are unchanged -- setup-uv only runs on cache miss for the venv-restoring jobs, so steady-state behavior matches today.