Files
PVE-Tools-9/.github/workflows/release.yml
Mapleawaa 8f57cfea93 feat: 新增邮件通知引导与IMG导入功能,增强非PVE9防护
- 新增邮件通知自动化引导:配置数据中心From/root邮箱、Postfix SMTP中继(支持QQ/163/Gmail/自定义),可选测试邮件与ZFS ZED邮件选项
- 新增IMG镜像导入:自动扫描指定目录下的.img文件,支持转换为qcow2/raw格式并导入到指定虚拟机与存储,可选自动挂载
- 增强非PVE9环境防护:启动时强制风险确认,并拦截换源、更新、一键优化、升级等高风险自动化操作
- 硬盘直通列表新增ATA标识列,便于区分wwn信息不直观的硬盘
- 更新CI发布流程:修复tag匹配条件,改为push tag后自动创建GitHub Release
- 新增赞助页面(.github/FUNDING.yml、Web/sponsor.md)和NOTICE文件
- 更新TOS与ULA文档,拆分页面并优化内容
- 更新README中的文档链接与公告信息
- 删除不再需要的commits_full_with_files1.txt文件
2026-02-22 18:37:27 +08:00

89 lines
2.7 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

name: Release to Main
on:
push:
tags:
- 'v*.*.*'
- '*.*.*'
- 'v*.*.*-stable'
- '*.*.*-stable'
permissions:
contents: write
jobs:
release:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0 # 获取所有历史以生成changelog
- name: Get version from tag
id: get_version
run: |
TAG=${GITHUB_REF#refs/tags/}
VERSION=${TAG#v}
echo "TAG=$TAG" >> $GITHUB_OUTPUT
echo "VERSION=$VERSION" >> $GITHUB_OUTPUT
- name: Install shc
run: |
sudo add-apt-repository ppa:neurobin/ppa -y
sudo apt-get update
sudo apt-get install shc -y
- name: Compile script to binary
run: |
shc -f PVE-Tools.sh -o pve-tools
chmod +x pve-tools
- name: Generate release notes
id: release_notes
run: |
# 生成基于提交历史的发布说明
LATEST_TAG=${{ steps.get_version.outputs.TAG }}
# 尝试获取前一个 tag如果没有则为空
PREVIOUS_TAG=$(git describe --tags --abbrev=0 $(git rev-list --tags --skip=1 --max-count=1) 2>/dev/null || echo "")
if [ -z "$PREVIOUS_TAG" ]; then
CHANGELOG=$(git log --pretty=format:"- %s (%an)" $LATEST_TAG)
else
CHANGELOG=$(git log --pretty=format:"- %s (%an)" $PREVIOUS_TAG..$LATEST_TAG)
fi
echo "CHANGELOG<<EOF" >> $GITHUB_OUTPUT
echo "$CHANGELOG" >> $GITHUB_OUTPUT
echo "EOF" >> $GITHUB_OUTPUT
- name: Create GitHub Release
uses: softprops/action-gh-release@v2
with:
tag_name: ${{ steps.get_version.outputs.TAG }}
name: Release ${{ steps.get_version.outputs.TAG }}
body: |
## 版本 ${{ steps.get_version.outputs.VERSION }}
### 更新日志
${{ steps.release_notes.outputs.CHANGELOG }}
### 使用方法
**方式一:直接运行脚本 (推荐)**
```bash
bash -c "$(curl -fsSL https://raw.githubusercontent.com/Mapleawaa/PVE-Tools-9/main/PVE-Tools.sh)"
```
**方式二:下载二进制文件**
下载下方 Assets 中的 `pve-tools`,赋予执行权限后运行:
```bash
chmod +x pve-tools
./pve-tools
```
files: |
pve-tools
PVE-Tools.sh
draft: false
prerelease: false
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}