1 Commits
Author SHA1 Message Date
ddadmin 86c67951da fix(site): сборка runner переведена со Snap uv на venv
- Зачем:
  - Snap uv не запускался внутри ограниченного systemd-сервиса без cap_dac_override.
- Что:
  - workflow переведён на системный Python, venv и pinned pip-зависимости.
  - Snap удалён из PATH runner, а runbook дополнен пакетом python3-venv.
- Проверка:
  - от имени gitea-runner выполнены clone, создание venv, pip install и mkdocs build --strict.
  - обновлённый systemd unit прошёл systemd-analyze verify и успешно перезапущен.
2026-08-04 16:06:24 -04:00
4 changed files with 10 additions and 42 deletions
-2
View File
@@ -1,2 +0,0 @@
mkdocs-material==9.6.14
mkdocs-same-dir==0.1.3
-31
View File
@@ -1,31 +0,0 @@
#!/usr/bin/env bash
set -euo pipefail
readonly venv_dir="/var/lib/gitea-runner/venvs/site"
if [[ $# -ne 1 ]]; then
echo "Usage: $0 SOURCE_DIR" >&2
exit 2
fi
source_dir=$(realpath "$1")
requirements_file="${source_dir}/.gitea/requirements-site.txt"
if [[ ! -f $requirements_file ]]; then
echo "Requirements file not found: ${requirements_file}" >&2
exit 2
fi
mkdir -p "$(dirname "$venv_dir")"
if [[ ! -x "${venv_dir}/bin/python" ]]; then
python3 -m venv "$venv_dir"
fi
"${venv_dir}/bin/python" -m pip install \
--disable-pip-version-check \
--no-input \
--requirement "$requirements_file"
"${venv_dir}/bin/python" -m pip check
cd "$source_dir"
"${venv_dir}/bin/python" -m mkdocs build --strict
+10 -1
View File
@@ -31,7 +31,16 @@ jobs:
git -C source -c advice.detachedHead=false checkout --detach FETCH_HEAD
- name: Build the site strictly
run: source/.gitea/scripts/build-site.sh source
run: |
set -euo pipefail
cd source
python3 -m venv .venv
.venv/bin/python -m pip install \
--disable-pip-version-check \
--no-input \
'mkdocs-material==9.6.14' \
'mkdocs-same-dir==0.1.3'
.venv/bin/python -m mkdocs build --strict
- name: Publish the complete release atomically
env:
-8
View File
@@ -12,7 +12,6 @@
- Пользователь сервиса: `gitea-runner`, без `sudo` и Docker.
- Корень публикации: `/srv/de-roadmap`.
- Хранение: текущий релиз и две предыдущие версии.
- Окружение сборки: `/var/lib/gitea-runner/venvs/site`.
## Подготовка VPS
@@ -127,13 +126,6 @@ curl --header 'Host: de.dementev.space' http://127.0.0.1/
После локальной проверки разрешить профили `Nginx Full` в UFW. До этого
публичные порты `80/tcp` и `443/tcp` должны оставаться закрытыми.
## Окружение сборки
Скрипт `.gitea/scripts/build-site.sh` создаёт persistent venv при первом запуске
и переиспользует его в следующих сборках. `pip install` выполняется каждый раз,
чтобы применить изменения `.gitea/requirements-site.txt`, но уже установленные
версии пакетов не переустанавливаются.
## DNS и TLS
1. Уменьшить TTL записи `de.dementev.space`.