Skip to content

Merge pull request #16 from DevCraftClub/mh-branch-1 #18

Merge pull request #16 from DevCraftClub/mh-branch-1

Merge pull request #16 from DevCraftClub/mh-branch-1 #18

Workflow file for this run

name: Деплой документации
on:
push:
branches: [main]
pull_request:
branches: [main]
jobs:
build-and-deploy:
runs-on: ubuntu-latest
steps:
- name: Клонирование кода
uses: actions/checkout@v4
with:
fetch-depth: 0 # Получаем полную историю для git-revision-date плагина
- name: Настройка Python
uses: actions/setup-python@v5
with:
python-version: "3.13"
cache: "pip"
- name: Установка зависимостей
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
- name: Определение версии
id: version
run: |
if [[ "${{ github.event_name }}" == "pull_request" ]]; then
# Для PR проверяем название на наличие версии
if [[ "${{ github.event.pull_request.title }}" =~ v[0-9]+\.[0-9]+\.[0-9]+ ]]; then
# Извлекаем версию из названия PR
VERSION=$(echo "${{ github.event.pull_request.title }}" | grep -o 'v[0-9]\+\.[0-9]\+\.[0-9]\+' | head -1)
echo "version=$VERSION" >> $GITHUB_OUTPUT
else
# Если версия не указана, используем dev
echo "version=dev" >> $GITHUB_OUTPUT
fi
else
# Для push в main используем dev
echo "version=dev" >> $GITHUB_OUTPUT
fi
echo "Используется версия: ${{ steps.version.outputs.version }}"
- name: Сборка документации
run: |
mkdocs build -c
- name: Деплой с mike
if: github.ref == 'refs/heads/main'
run: |
# Настраиваем git для mike
git config --global user.name "github-actions[bot]"
git config --global user.email "github-actions[bot]@users.noreply.github.com"
# Деплоим с mike
mike deploy --push --update-aliases "${{ steps.version.outputs.version }}" latest
# Устанавливаем версию по умолчанию
mike set-default --push latest