Files
de-roadmap/.gitea/workflows/deploy-site.yml
T
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

49 lines
1.4 KiB
YAML

name: Deploy MkDocs to VPS
on:
push:
branches: [main]
workflow_dispatch:
concurrency:
group: site-production
cancel-in-progress: false
jobs:
deploy:
runs-on: de-roadmap-host
timeout-minutes: 15
steps:
- name: Check out the triggering commit
env:
COMMIT_SHA: ${{ gitea.sha }}
REPOSITORY_URL: ${{ gitea.server_url }}/${{ gitea.repository }}.git
run: |
set -euo pipefail
[[ "$COMMIT_SHA" =~ ^[0-9a-f]{40}$ ]]
test ! -e source
mkdir source
git -C source init .
git -C source remote add origin "$REPOSITORY_URL"
git -C source fetch --no-tags --depth=1 origin "$COMMIT_SHA"
test "$(git -C source rev-parse FETCH_HEAD)" = "$COMMIT_SHA"
git -C source -c advice.detachedHead=false checkout --detach FETCH_HEAD
- name: Build the site strictly
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:
RELEASE_ID: ${{ gitea.sha }}-${{ gitea.run_id }}
run: source/.gitea/scripts/deploy-site.sh source/site "$RELEASE_ID"