Merge pull request 'ci: cache uv + skip dev deps to speed up gate jobs (#1709)' (#1717) from ci/cache-uv-speed-gates-1709 into main
Reviewed-on: #1717
This commit is contained in:
commit
73f47da2f9
1 changed files with 28 additions and 2 deletions
|
|
@ -88,6 +88,19 @@ jobs:
|
|||
curl -LsSf https://astral.sh/uv/install.sh | sh
|
||||
echo "$HOME/.local/bin" >> "$GITHUB_PATH"
|
||||
|
||||
- name: Cache uv packages
|
||||
# Кросс-прогонный кэш скачанных/собранных wheel'ов (~/.cache/uv по умолч.).
|
||||
# `uv sync --frozen` без него каждый прогон тянет весь geo-стек заново —
|
||||
# доминирующая часть времени job (#1709). Ключ по uv.lock; continue-on-error
|
||||
# чтобы сбой cache-бэкенда раннера НИКОГДА не ронял gate.
|
||||
uses: actions/cache@v4
|
||||
continue-on-error: true
|
||||
with:
|
||||
path: ~/.cache/uv
|
||||
key: uv-${{ runner.os }}-${{ hashFiles('backend/uv.lock') }}
|
||||
restore-keys: |
|
||||
uv-${{ runner.os }}-
|
||||
|
||||
- name: Install system deps for geo + WeasyPrint
|
||||
# libpq/gdal/proj/geos — geo-стек (geopandas/shapely/pyproj).
|
||||
# libcairo2/libpango* — нативные либы WeasyPrint: с ними PDF-тесты
|
||||
|
|
@ -229,6 +242,16 @@ jobs:
|
|||
curl -LsSf https://astral.sh/uv/install.sh | sh
|
||||
echo "$HOME/.local/bin" >> "$GITHUB_PATH"
|
||||
|
||||
- name: Cache uv packages
|
||||
# См. backend-tests: кросс-прогонный кэш ~/.cache/uv, тот же ключ по uv.lock.
|
||||
uses: actions/cache@v4
|
||||
continue-on-error: true
|
||||
with:
|
||||
path: ~/.cache/uv
|
||||
key: uv-${{ runner.os }}-${{ hashFiles('backend/uv.lock') }}
|
||||
restore-keys: |
|
||||
uv-${{ runner.os }}-
|
||||
|
||||
- name: Install system deps for geo + WeasyPrint
|
||||
# app.main транзитивно тянет geo/PDF-модули. На macOS-dev импорт схемы
|
||||
# проходит и без этих либ, но на ubuntu ставим как backend-tests
|
||||
|
|
@ -238,9 +261,12 @@ jobs:
|
|||
sudo apt-get install -y libpq-dev libgdal-dev libproj-dev libgeos-dev \
|
||||
libcairo2 libpango-1.0-0 libpangoft2-1.0-0
|
||||
|
||||
- name: Install backend deps (uv sync --frozen)
|
||||
- name: Install backend deps (uv sync --frozen --no-dev)
|
||||
working-directory: backend
|
||||
run: uv sync --frozen
|
||||
# --no-dev: этот job только дампит app.openapi() (нужен runtime app.main).
|
||||
# pytest/ruff/coverage не используются → не ставим dev-группу (быстрее).
|
||||
# Dockerfile тоже собирает с --no-dev → импорт app.main гарантированно ок.
|
||||
run: uv sync --frozen --no-dev
|
||||
|
||||
- name: Install frontend deps (npm ci)
|
||||
working-directory: frontend
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue