Добавлены новые документы и инструкции по настройке, использованию и тестированию SSL сертификатов Let's Encrypt с использованием API reg.ru. Обновлены зависимости в requirements.txt для поддержки новых функций. Включены подробные шаги по автоматизации, созданию и продлению сертификатов, а также интеграции с Nginx Proxy Manager.
This commit is contained in:
211
.gitea/workflows/build-release.yml
Normal file
211
.gitea/workflows/build-release.yml
Normal file
@@ -0,0 +1,211 @@
|
||||
name: Build Releases
|
||||
|
||||
on:
|
||||
push:
|
||||
tags:
|
||||
- 'v*' # Срабатывает на теги вида v1.0, v2.0.1 и т.д.
|
||||
workflow_dispatch: # Возможность запустить вручную
|
||||
|
||||
jobs:
|
||||
build-linux:
|
||||
name: Build Linux Executable
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v3
|
||||
|
||||
- name: Set up Python
|
||||
uses: actions/setup-python@v4
|
||||
with:
|
||||
python-version: '3.9'
|
||||
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
python -m pip install --upgrade pip
|
||||
pip install pyinstaller
|
||||
pip install -r requirements.txt
|
||||
|
||||
- name: Build Linux executable
|
||||
run: |
|
||||
make build-linux
|
||||
|
||||
- name: Test Linux executable
|
||||
run: |
|
||||
chmod +x dist/letsencrypt-regru
|
||||
dist/letsencrypt-regru --help
|
||||
|
||||
- name: Create Linux package
|
||||
run: |
|
||||
make package-linux
|
||||
|
||||
- name: Upload Linux artifact
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: linux-executable
|
||||
path: dist/letsencrypt-regru-linux-x86_64.tar.gz
|
||||
|
||||
- name: Generate SHA256 checksum
|
||||
run: |
|
||||
cd dist
|
||||
sha256sum letsencrypt-regru-linux-x86_64.tar.gz > letsencrypt-regru-linux-x86_64.tar.gz.sha256
|
||||
|
||||
- name: Upload checksum
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: linux-checksum
|
||||
path: dist/letsencrypt-regru-linux-x86_64.tar.gz.sha256
|
||||
|
||||
build-windows:
|
||||
name: Build Windows Executable
|
||||
runs-on: windows-latest
|
||||
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v3
|
||||
|
||||
- name: Set up Python
|
||||
uses: actions/setup-python@v4
|
||||
with:
|
||||
python-version: '3.9'
|
||||
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
python -m pip install --upgrade pip
|
||||
pip install pyinstaller
|
||||
pip install -r requirements.txt
|
||||
|
||||
- name: Build Windows executable
|
||||
run: |
|
||||
make build-windows
|
||||
|
||||
- name: Test Windows executable
|
||||
run: |
|
||||
dist\letsencrypt-regru.exe --help
|
||||
|
||||
- name: Create Windows package
|
||||
run: |
|
||||
make package-windows
|
||||
|
||||
- name: Upload Windows artifact
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: windows-executable
|
||||
path: dist/letsencrypt-regru-windows-x86_64.zip
|
||||
|
||||
- name: Generate SHA256 checksum
|
||||
run: |
|
||||
cd dist
|
||||
certutil -hashfile letsencrypt-regru-windows-x86_64.zip SHA256 > letsencrypt-regru-windows-x86_64.zip.sha256
|
||||
|
||||
- name: Upload checksum
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: windows-checksum
|
||||
path: dist/letsencrypt-regru-windows-x86_64.zip.sha256
|
||||
|
||||
create-release:
|
||||
name: Create Gitea Release
|
||||
needs: [build-linux, build-windows]
|
||||
runs-on: ubuntu-latest
|
||||
if: startsWith(github.ref, 'refs/tags/')
|
||||
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v3
|
||||
|
||||
- name: Download Linux artifact
|
||||
uses: actions/download-artifact@v3
|
||||
with:
|
||||
name: linux-executable
|
||||
path: ./artifacts
|
||||
|
||||
- name: Download Linux checksum
|
||||
uses: actions/download-artifact@v3
|
||||
with:
|
||||
name: linux-checksum
|
||||
path: ./artifacts
|
||||
|
||||
- name: Download Windows artifact
|
||||
uses: actions/download-artifact@v3
|
||||
with:
|
||||
name: windows-executable
|
||||
path: ./artifacts
|
||||
|
||||
- name: Download Windows checksum
|
||||
uses: actions/download-artifact@v3
|
||||
with:
|
||||
name: windows-checksum
|
||||
path: ./artifacts
|
||||
|
||||
- name: Get tag name
|
||||
id: get_version
|
||||
run: echo "VERSION=${GITHUB_REF#refs/tags/}" >> $GITHUB_OUTPUT
|
||||
|
||||
- name: Create Release
|
||||
uses: actions/gitea-release@v1
|
||||
with:
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
||||
tag_name: ${{ steps.get_version.outputs.VERSION }}
|
||||
name: Let's Encrypt RegRu Manager ${{ steps.get_version.outputs.VERSION }}
|
||||
body: |
|
||||
## Let's Encrypt RegRu Manager ${{ steps.get_version.outputs.VERSION }}
|
||||
|
||||
### 📦 Релизные пакеты
|
||||
|
||||
**Linux (Ubuntu/Debian/CentOS):**
|
||||
- `letsencrypt-regru-linux-x86_64.tar.gz` - Исполняемый файл + файлы
|
||||
- `letsencrypt-regru-linux-x86_64.tar.gz.sha256` - Контрольная сумма
|
||||
|
||||
**Windows:**
|
||||
- `letsencrypt-regru-windows-x86_64.zip` - Исполняемый файл + файлы
|
||||
- `letsencrypt-regru-windows-x86_64.zip.sha256` - Контрольная сумма
|
||||
|
||||
### 🚀 Быстрая установка
|
||||
|
||||
**Linux:**
|
||||
```bash
|
||||
wget https://your-gitea-instance.com/${{ github.repository }}/releases/download/${{ steps.get_version.outputs.VERSION }}/letsencrypt-regru-linux-x86_64.tar.gz
|
||||
tar -xzf letsencrypt-regru-linux-x86_64.tar.gz
|
||||
sudo mv letsencrypt-regru /usr/local/bin/
|
||||
sudo chmod +x /usr/local/bin/letsencrypt-regru
|
||||
```
|
||||
|
||||
**Windows:**
|
||||
Скачайте `letsencrypt-regru-windows-x86_64.zip` и распакуйте.
|
||||
|
||||
### 📖 Документация
|
||||
|
||||
- [README.md](README.md)
|
||||
- [BUILD_GUIDE.md](BUILD_GUIDE.md)
|
||||
- [INSTALL_GUIDE.md](docs/INSTALL_GUIDE.md)
|
||||
|
||||
### ⚠️ Важно
|
||||
|
||||
- Исполняемые файлы требуют установленного `certbot` в системе
|
||||
- Linux версия требует права root (sudo)
|
||||
- Windows версия не поддерживает certbot напрямую (используйте WSL)
|
||||
|
||||
### 🔐 Проверка контрольных сумм
|
||||
|
||||
**Linux:**
|
||||
```bash
|
||||
sha256sum -c letsencrypt-regru-linux-x86_64.tar.gz.sha256
|
||||
```
|
||||
|
||||
**Windows:**
|
||||
```powershell
|
||||
certutil -hashfile letsencrypt-regru-windows-x86_64.zip SHA256
|
||||
```
|
||||
|
||||
### 📝 Changelog
|
||||
|
||||
- Автоматическая сборка релиза ${{ steps.get_version.outputs.VERSION }}
|
||||
- См. коммиты для деталей изменений
|
||||
files: |
|
||||
./artifacts/letsencrypt-regru-linux-x86_64.tar.gz
|
||||
./artifacts/letsencrypt-regru-linux-x86_64.tar.gz.sha256
|
||||
./artifacts/letsencrypt-regru-windows-x86_64.zip
|
||||
./artifacts/letsencrypt-regru-windows-x86_64.zip.sha256
|
||||
draft: false
|
||||
prerelease: false
|
||||
387
.gitea/workflows/release.yml
Normal file
387
.gitea/workflows/release.yml
Normal file
@@ -0,0 +1,387 @@
|
||||
name: Build and Release (Gitea Native)
|
||||
|
||||
# Этот workflow оптимизирован для Gitea
|
||||
# Использует нативные возможности Gitea Actions
|
||||
|
||||
on:
|
||||
push:
|
||||
tags:
|
||||
- 'v*'
|
||||
- 'release-*'
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
version:
|
||||
description: 'Version tag (e.g., v1.0.0)'
|
||||
required: false
|
||||
default: 'dev'
|
||||
|
||||
env:
|
||||
APP_NAME: letsencrypt-regru
|
||||
PYTHON_VERSION: '3.9'
|
||||
|
||||
jobs:
|
||||
# ============================================================================
|
||||
# Сборка для Linux
|
||||
# ============================================================================
|
||||
build-linux:
|
||||
name: 🐧 Build Linux
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: 📥 Checkout repository
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: 🐍 Set up Python ${{ env.PYTHON_VERSION }}
|
||||
uses: actions/setup-python@v4
|
||||
with:
|
||||
python-version: ${{ env.PYTHON_VERSION }}
|
||||
cache: 'pip'
|
||||
|
||||
- name: 📦 Install system dependencies
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y build-essential
|
||||
|
||||
- name: 📚 Install Python dependencies
|
||||
run: |
|
||||
python -m pip install --upgrade pip setuptools wheel
|
||||
pip install pyinstaller
|
||||
if [ -f requirements.txt ]; then
|
||||
pip install -r requirements.txt
|
||||
else
|
||||
pip install requests certbot cryptography
|
||||
fi
|
||||
|
||||
- name: ℹ️ Build info
|
||||
run: |
|
||||
make build-info
|
||||
|
||||
- name: 🔨 Build Linux executable
|
||||
run: |
|
||||
make build-linux
|
||||
|
||||
- name: ✅ Test executable
|
||||
run: |
|
||||
chmod +x dist/${{ env.APP_NAME }}
|
||||
./dist/${{ env.APP_NAME }} --help
|
||||
./dist/${{ env.APP_NAME }} --create-config /tmp/test_config.json
|
||||
|
||||
- name: 📦 Create distribution package
|
||||
run: |
|
||||
make package-linux
|
||||
|
||||
- name: 🔐 Generate checksums
|
||||
run: |
|
||||
cd dist
|
||||
sha256sum ${{ env.APP_NAME }}-linux-x86_64.tar.gz > ${{ env.APP_NAME }}-linux-x86_64.tar.gz.sha256
|
||||
md5sum ${{ env.APP_NAME }}-linux-x86_64.tar.gz > ${{ env.APP_NAME }}-linux-x86_64.tar.gz.md5
|
||||
cat ${{ env.APP_NAME }}-linux-x86_64.tar.gz.sha256
|
||||
|
||||
- name: 📤 Upload Linux package
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: linux-package
|
||||
path: |
|
||||
dist/${{ env.APP_NAME }}-linux-x86_64.tar.gz
|
||||
dist/${{ env.APP_NAME }}-linux-x86_64.tar.gz.sha256
|
||||
dist/${{ env.APP_NAME }}-linux-x86_64.tar.gz.md5
|
||||
retention-days: 7
|
||||
|
||||
# ============================================================================
|
||||
# Сборка для Windows
|
||||
# ============================================================================
|
||||
build-windows:
|
||||
name: 🪟 Build Windows
|
||||
runs-on: windows-latest
|
||||
|
||||
steps:
|
||||
- name: 📥 Checkout repository
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: 🐍 Set up Python ${{ env.PYTHON_VERSION }}
|
||||
uses: actions/setup-python@v4
|
||||
with:
|
||||
python-version: ${{ env.PYTHON_VERSION }}
|
||||
cache: 'pip'
|
||||
|
||||
- name: 📚 Install Python dependencies
|
||||
run: |
|
||||
python -m pip install --upgrade pip setuptools wheel
|
||||
pip install pyinstaller
|
||||
if (Test-Path requirements.txt) {
|
||||
pip install -r requirements.txt
|
||||
} else {
|
||||
pip install requests certbot cryptography
|
||||
}
|
||||
|
||||
- name: 🔨 Build Windows executable
|
||||
run: |
|
||||
make build-windows
|
||||
|
||||
- name: ✅ Test executable
|
||||
run: |
|
||||
dist\${{ env.APP_NAME }}.exe --help
|
||||
dist\${{ env.APP_NAME }}.exe --create-config test_config.json
|
||||
|
||||
- name: 📦 Create distribution package
|
||||
run: |
|
||||
make package-windows
|
||||
|
||||
- name: 🔐 Generate checksums
|
||||
run: |
|
||||
cd dist
|
||||
certutil -hashfile ${{ env.APP_NAME }}-windows-x86_64.zip SHA256 > ${{ env.APP_NAME }}-windows-x86_64.zip.sha256
|
||||
certutil -hashfile ${{ env.APP_NAME }}-windows-x86_64.zip MD5 > ${{ env.APP_NAME }}-windows-x86_64.zip.md5
|
||||
type ${{ env.APP_NAME }}-windows-x86_64.zip.sha256
|
||||
|
||||
- name: 📤 Upload Windows package
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: windows-package
|
||||
path: |
|
||||
dist/${{ env.APP_NAME }}-windows-x86_64.zip
|
||||
dist/${{ env.APP_NAME }}-windows-x86_64.zip.sha256
|
||||
dist/${{ env.APP_NAME }}-windows-x86_64.zip.md5
|
||||
retention-days: 7
|
||||
|
||||
# ============================================================================
|
||||
# Создание релиза в Gitea
|
||||
# ============================================================================
|
||||
create-release:
|
||||
name: 📦 Create Release
|
||||
needs: [build-linux, build-windows]
|
||||
runs-on: ubuntu-latest
|
||||
if: startsWith(github.ref, 'refs/tags/')
|
||||
|
||||
steps:
|
||||
- name: 📥 Checkout repository
|
||||
uses: actions/checkout@v3
|
||||
|
||||
- name: 📥 Download Linux artifacts
|
||||
uses: actions/download-artifact@v3
|
||||
with:
|
||||
name: linux-package
|
||||
path: ./release
|
||||
|
||||
- name: 📥 Download Windows artifacts
|
||||
uses: actions/download-artifact@v3
|
||||
with:
|
||||
name: windows-package
|
||||
path: ./release
|
||||
|
||||
- name: 📋 List release files
|
||||
run: |
|
||||
echo "Release files:"
|
||||
ls -lh ./release/
|
||||
|
||||
- name: 🏷️ Get version info
|
||||
id: version
|
||||
run: |
|
||||
if [ "${{ github.event_name }}" = "workflow_dispatch" ]; then
|
||||
VERSION="${{ github.event.inputs.version }}"
|
||||
else
|
||||
VERSION="${GITHUB_REF#refs/tags/}"
|
||||
fi
|
||||
echo "VERSION=$VERSION" >> $GITHUB_OUTPUT
|
||||
echo "Release version: $VERSION"
|
||||
|
||||
- name: 📝 Generate release notes
|
||||
id: release_notes
|
||||
run: |
|
||||
cat > release_notes.md << 'EOF'
|
||||
## 🎉 Let's Encrypt RegRu Manager ${{ steps.version.outputs.VERSION }}
|
||||
|
||||
Автоматическое управление SSL сертификатами Let's Encrypt для доменов на reg.ru с интеграцией в Nginx Proxy Manager.
|
||||
|
||||
### 📦 Файлы релиза
|
||||
|
||||
#### Linux (Ubuntu 20.04+, Debian 10+, CentOS 8+)
|
||||
- **letsencrypt-regru-linux-x86_64.tar.gz** - Исполняемый файл (ELF 64-bit)
|
||||
- **letsencrypt-regru-linux-x86_64.tar.gz.sha256** - SHA256 контрольная сумма
|
||||
- **letsencrypt-regru-linux-x86_64.tar.gz.md5** - MD5 контрольная сумма
|
||||
|
||||
#### Windows (10/11, Server 2019+)
|
||||
- **letsencrypt-regru-windows-x86_64.zip** - Исполняемый файл (PE32+)
|
||||
- **letsencrypt-regru-windows-x86_64.zip.sha256** - SHA256 контрольная сумма
|
||||
- **letsencrypt-regru-windows-x86_64.zip.md5** - MD5 контрольная сумма
|
||||
|
||||
---
|
||||
|
||||
### 🚀 Быстрая установка
|
||||
|
||||
#### Linux (одна команда):
|
||||
```bash
|
||||
curl -fsSL https://your-gitea.com/api/v1/repos/${{ github.repository }}/releases/tags/${{ steps.version.outputs.VERSION }} | \
|
||||
jq -r '.assets[] | select(.name | contains("linux")) | .browser_download_url' | \
|
||||
xargs wget -O letsencrypt-regru.tar.gz && \
|
||||
tar -xzf letsencrypt-regru.tar.gz && \
|
||||
sudo mv letsencrypt-regru /usr/local/bin/ && \
|
||||
sudo chmod +x /usr/local/bin/letsencrypt-regru
|
||||
```
|
||||
|
||||
#### Или вручную:
|
||||
```bash
|
||||
# 1. Скачать
|
||||
wget https://your-gitea.com/${{ github.repository }}/releases/download/${{ steps.version.outputs.VERSION }}/letsencrypt-regru-linux-x86_64.tar.gz
|
||||
|
||||
# 2. Проверить контрольную сумму
|
||||
wget https://your-gitea.com/${{ github.repository }}/releases/download/${{ steps.version.outputs.VERSION }}/letsencrypt-regru-linux-x86_64.tar.gz.sha256
|
||||
sha256sum -c letsencrypt-regru-linux-x86_64.tar.gz.sha256
|
||||
|
||||
# 3. Распаковать и установить
|
||||
tar -xzf letsencrypt-regru-linux-x86_64.tar.gz
|
||||
sudo mv letsencrypt-regru /usr/local/bin/
|
||||
sudo chmod +x /usr/local/bin/letsencrypt-regru
|
||||
|
||||
# 4. Проверить
|
||||
letsencrypt-regru --help
|
||||
```
|
||||
|
||||
#### Windows:
|
||||
```powershell
|
||||
# Скачать и распаковать
|
||||
Invoke-WebRequest -Uri "https://your-gitea.com/${{ github.repository }}/releases/download/${{ steps.version.outputs.VERSION }}/letsencrypt-regru-windows-x86_64.zip" -OutFile "letsencrypt-regru.zip"
|
||||
Expand-Archive -Path letsencrypt-regru.zip -DestinationPath "C:\Program Files\LetsEncrypt-RegRu"
|
||||
|
||||
# Проверить
|
||||
& "C:\Program Files\LetsEncrypt-RegRu\letsencrypt-regru.exe" --help
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### ✨ Основные возможности
|
||||
|
||||
- ✅ Автоматическое получение Let's Encrypt сертификатов
|
||||
- ✅ DNS-валидация через API reg.ru
|
||||
- ✅ Поддержка wildcard сертификатов (*.domain.com)
|
||||
- ✅ Автоматическая загрузка в Nginx Proxy Manager
|
||||
- ✅ Автоматическое обновление сертификатов
|
||||
- ✅ Systemd интеграция для автоматизации
|
||||
- ✅ Подробное логирование
|
||||
- ✅ Генерация тестовых самоподписанных сертификатов
|
||||
|
||||
---
|
||||
|
||||
### 📋 Системные требования
|
||||
|
||||
#### Linux:
|
||||
- Ubuntu 20.04+ / Debian 10+ / CentOS 8+ / RHEL 8+
|
||||
- certbot (устанавливается автоматически через `letsencrypt_regru.sh`)
|
||||
- 50 MB свободного места
|
||||
- Права root (sudo)
|
||||
|
||||
#### Windows:
|
||||
- Windows 10/11 или Server 2019+
|
||||
- **Важно:** certbot не поддерживается напрямую на Windows
|
||||
- Рекомендуется использовать WSL (Windows Subsystem for Linux)
|
||||
|
||||
---
|
||||
|
||||
### 📖 Документация
|
||||
|
||||
- **[README.md](README.md)** - Полное руководство пользователя
|
||||
- **[BUILD_GUIDE.md](BUILD_GUIDE.md)** - Руководство по сборке из исходников
|
||||
- **[INSTALL_GUIDE.md](docs/INSTALL_GUIDE.md)** - Детальная инструкция по установке
|
||||
- **[MAKEFILE_COMMANDS.md](MAKEFILE_COMMANDS.md)** - Справка по командам Makefile
|
||||
|
||||
---
|
||||
|
||||
### ⚠️ Важная информация
|
||||
|
||||
1. **Certbot зависимость:**
|
||||
- Исполняемый файл НЕ включает certbot
|
||||
- certbot должен быть установлен в системе
|
||||
- Используется через subprocess
|
||||
|
||||
2. **Размер файла:**
|
||||
- Linux: ~45-55 MB (включая Python runtime)
|
||||
- Windows: ~40-50 MB (включая Python runtime)
|
||||
|
||||
3. **Первый запуск:**
|
||||
- Может занять 5-10 секунд (распаковка)
|
||||
- Последующие запуски быстрее (~1-2 сек)
|
||||
|
||||
4. **Безопасность:**
|
||||
- Файлы подписаны контрольными суммами SHA256 и MD5
|
||||
- Всегда проверяйте контрольные суммы перед использованием
|
||||
|
||||
---
|
||||
|
||||
### 🔐 Проверка контрольных сумм
|
||||
|
||||
#### Linux:
|
||||
```bash
|
||||
# SHA256
|
||||
sha256sum -c letsencrypt-regru-linux-x86_64.tar.gz.sha256
|
||||
|
||||
# MD5
|
||||
md5sum -c letsencrypt-regru-linux-x86_64.tar.gz.md5
|
||||
```
|
||||
|
||||
#### Windows:
|
||||
```powershell
|
||||
# SHA256
|
||||
certutil -hashfile letsencrypt-regru-windows-x86_64.zip SHA256
|
||||
|
||||
# MD5
|
||||
certutil -hashfile letsencrypt-regru-windows-x86_64.zip MD5
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### 🐛 Проблемы и поддержка
|
||||
|
||||
Если у вас возникли проблемы:
|
||||
|
||||
1. Проверьте [Issues](../../issues)
|
||||
2. Создайте новый [Issue](../../issues/new)
|
||||
3. См. раздел [Troubleshooting](BUILD_GUIDE.md#troubleshooting) в BUILD_GUIDE.md
|
||||
|
||||
---
|
||||
|
||||
### 📝 Changelog
|
||||
|
||||
См. [коммиты](${{ github.server_url }}/${{ github.repository }}/commits/${{ steps.version.outputs.VERSION }}) для деталей изменений.
|
||||
|
||||
---
|
||||
|
||||
**Автор:** Фофанов Дмитрий
|
||||
**Дата релиза:** $(date -u +"%Y-%m-%d %H:%M:%S UTC")
|
||||
**Версия:** ${{ steps.version.outputs.VERSION }}
|
||||
EOF
|
||||
|
||||
cat release_notes.md
|
||||
|
||||
- name: 🚀 Create Gitea Release
|
||||
uses: actions/gitea-release@v1
|
||||
env:
|
||||
GITEA_TOKEN: ${{ secrets.GITEA_TOKEN || secrets.GITHUB_TOKEN }}
|
||||
with:
|
||||
files: |
|
||||
release/*
|
||||
tag_name: ${{ steps.version.outputs.VERSION }}
|
||||
name: "Let's Encrypt RegRu Manager ${{ steps.version.outputs.VERSION }}"
|
||||
body_path: release_notes.md
|
||||
draft: false
|
||||
prerelease: false
|
||||
|
||||
# ============================================================================
|
||||
# Уведомление о релизе (опционально)
|
||||
# ============================================================================
|
||||
notify:
|
||||
name: 📢 Notify
|
||||
needs: [create-release]
|
||||
runs-on: ubuntu-latest
|
||||
if: startsWith(github.ref, 'refs/tags/')
|
||||
|
||||
steps:
|
||||
- name: 📧 Send notification
|
||||
run: |
|
||||
echo "Release created successfully!"
|
||||
echo "Tag: ${{ github.ref_name }}"
|
||||
echo "Repository: ${{ github.repository }}"
|
||||
# Здесь можно добавить отправку уведомлений через webhook, email и т.д.
|
||||
Reference in New Issue
Block a user