From ec7aec310ac766a950a794913a80747a6395130d Mon Sep 17 00:00:00 2001 From: agent Date: Mon, 14 Sep 2026 17:23:29 +0300 Subject: [PATCH] fix: stage deploy archive in user home --- .gitea/workflows/ci.yml | 7 ++++--- CHANGELOG.md | 4 ++++ README.md | 2 +- app/version.py | 6 +++--- pyproject.toml | 2 +- tests/test_api.py | 2 +- 6 files changed, 14 insertions(+), 9 deletions(-) diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml index e8fd648..be80366 100644 --- a/.gitea/workflows/ci.yml +++ b/.gitea/workflows/ci.yml @@ -55,7 +55,7 @@ jobs: -o BatchMode=yes \ -o UserKnownHostsFile="$RUNNER_TEMP/known_hosts" \ "$RUNNER_TEMP/$RELEASE_NAME" \ - "$PROD_USER@$PROD_HOST:/tmp/$RELEASE_NAME" + "$PROD_USER@$PROD_HOST:$RELEASE_NAME" env: PROD_HOST: ${{ secrets.PROD_HOST }} PROD_USER: ${{ secrets.PROD_USER }} @@ -70,17 +70,18 @@ jobs: "PROD_PATH='$PROD_PATH' RELEASE_NAME='$RELEASE_NAME' bash -s" <<'REMOTE' set -euo pipefail cd "$PROD_PATH" + release="$HOME/$RELEASE_NAME" mkdir -p "$HOME/backups/miem_workers" backup="$HOME/backups/miem_workers/miem_workers-$(date +%Y%m%d-%H%M%S).sql" docker compose exec -T postgres sh -c 'pg_dump -U "$POSTGRES_USER" "$POSTGRES_DB"' > "$backup" docker run --rm \ - -v "/tmp/$RELEASE_NAME:/src/release.tar:ro" \ + -v "$release:/src/release.tar:ro" \ -v "$PROD_PATH":/dst \ alpine:3.20 sh -c 'tar -xf /src/release.tar -C /dst' docker compose up -d --build curl --fail --silent --show-error http://127.0.0.1:8000/api/health docker compose ps - rm -f "/tmp/$RELEASE_NAME" + rm -f "$release" REMOTE env: PROD_HOST: ${{ secrets.PROD_HOST }} diff --git a/CHANGELOG.md b/CHANGELOG.md index 7eef56b..2d567cd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # Changelog +## 0.8.6 + +- Исправлена загрузка release-архива production CD в домашний каталог deploy-пользователя. + ## 0.8.5 - Исправлена адаптивная компоновка фильтров справочника и скрытие skip-link до клавиатурного фокуса. diff --git a/README.md b/README.md index 75caaa6..47ce388 100644 --- a/README.md +++ b/README.md @@ -135,4 +135,4 @@ node --check app/static/admin.js Тесты с данными используют временную SQLite; отдельные API smoke-тесты запускают приложение с его текущей конфигурацией. Браузерная проверка: `pip install playwright`, `python -m playwright install chromium`, затем `python tests/browser_admin.py`. Она проверяет реальный рендеринг страниц, клавиатуру, диалог, фильтры и восстановление прогресса после ошибки. Скриншоты сохраняются во временную папку; путь выводится в конце. -Версия сервиса: `0.8.5`. Админка всегда показывает версии backend и frontend в footer. +Версия сервиса: `0.8.6`. Админка всегда показывает версии backend и frontend в footer. diff --git a/app/version.py b/app/version.py index 1b0ac8a..1dfc26c 100644 --- a/app/version.py +++ b/app/version.py @@ -1,3 +1,3 @@ -APP_VERSION = "0.8.5" -FRONTEND_VERSION = "0.8.5" -BACKEND_VERSION = "0.8.5" +APP_VERSION = "0.8.6" +FRONTEND_VERSION = "0.8.6" +BACKEND_VERSION = "0.8.6" diff --git a/pyproject.toml b/pyproject.toml index 6586745..d10965e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "miem-workers" -version = "0.8.5" +version = "0.8.6" description = "MIEM employees parser, admin API, and web admin" requires-python = ">=3.11" dependencies = [ diff --git a/tests/test_api.py b/tests/test_api.py index 2b5fb1e..75738c5 100644 --- a/tests/test_api.py +++ b/tests/test_api.py @@ -18,7 +18,7 @@ def test_health_returns_versions(): response = TestClient(app).get("/api/health") assert response.status_code == 200 - assert response.json()["backend_version"] == "0.8.5" + assert response.json()["backend_version"] == "0.8.6" def test_api_employees_and_stats_require_admin_session():