mirror of
https://hubproxy.babadafafafafa.cn/https://github.com/Mapleawaa/PVE-Tools-9.git
synced 2026-09-20 08:03:35 +08:00
- 新增邮件通知自动化引导:配置数据中心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文件
89 lines
2.7 KiB
YAML
89 lines
2.7 KiB
YAML
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 }}
|