fix(ci): установка uv без системного pip и uv sync перед сборкой

- в Gitea Actions шаг "Install uv" падал на Ubuntu 24.04: pip в систему запрещён (PEP 668)
- uv ставится официальным установщиком в ~/.local/bin, каталог добавляется в PATH
- добавлен шаг uv sync: posadmesh-build.sh запускает pio через "uv run --no-sync",
  значит окружение с platformio должно существовать заранее
- actions/cache обновлён до v4, добавлен continue-on-error и кэш ~/.cache/uv
- причина, по которой это вылезло только сейчас: runner был зарегистрирован за
  репозиторием shade/meshcore, а workflow живёт в shade/MeshCore-Posadmesh
This commit is contained in:
shade committed 2026-10-12 00:03:23 +03:00
1 parent 4ad2ffeae7
commit c42cca13c4
1 file changed
+17 -5
+17 -5
View File
@@ -56,14 +56,26 @@ jobs:
- name: Install uv
run: |
python3 -m pip install --upgrade pip
python3 -m pip install uv
# системный pip на Ubuntu 24.04 запрещён (PEP 668), поэтому ставим uv
# официальным установщиком — он кладёт бинарь в ~/.local/bin
curl -LsSf https://astral.sh/uv/install.sh | sh
echo "$HOME/.local/bin" >> "$GITHUB_PATH"
"$HOME/.local/bin/uv" --version
- name: Sync dependencies
run: |
# posadmesh-build.sh запускает pio через "uv run --no-sync",
# значит окружение с platformio должно быть создано заранее
uv sync
- name: Cache PlatformIO
uses: actions/cache@v3
uses: actions/cache@v4
continue-on-error: true
with:
path: ~/.platformio
key: platformio-${{ hashFiles('platformio.ini', 'variants/**/platformio.ini') }}
path: |
~/.platformio
~/.cache/uv
key: platformio-${{ hashFiles('platformio.ini', 'variants/**/platformio.ini', 'uv.lock') }}
restore-keys: platformio-
- name: Build MQTT firmwares