Files
Telegram-Panel/.github/workflows/release.yml
T
meoacgx ee17e2e63c docs(release): 优化自动发布文案模板并同步更新入口说明
本次调整:
- 将 Release 顶部文案改为“本次版本主要更新”风格,增强可读性。
- 增加部署与更新分节,保留 Docker 拉取命令并明确一键更新入口。
- 更新一键更新路径为“左上角版本号 -> 版本信息弹窗 -> 一键更新并重启”。
- 保留自动 changelog 与更新包资产列表,兼顾摘要与完整变更明细。
2026-03-03 03:22:41 +08:00

117 lines
3.3 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 (Auto Changelog)
on:
push:
tags:
- "v*"
workflow_dispatch:
inputs:
tag:
description: "要发布的 tag(例如 v1.2.3)"
required: true
type: string
permissions:
contents: write
concurrency:
group: release-${{ github.ref }}
cancel-in-progress: false
jobs:
release:
runs-on: ubuntu-latest
steps:
- name: Resolve tag name
id: vars
shell: bash
run: |
if [[ "${GITHUB_EVENT_NAME}" == "workflow_dispatch" ]]; then
TAG="${{ inputs.tag }}"
else
TAG="${GITHUB_REF_NAME}"
fi
echo "tag=${TAG}" >> "$GITHUB_OUTPUT"
- name: Checkout source at tag
uses: actions/checkout@v4
with:
ref: ${{ steps.vars.outputs.tag }}
- name: Set up .NET
uses: actions/setup-dotnet@v4
with:
dotnet-version: 8.0.x
- name: Restore
run: dotnet restore TelegramPanel.sln
- name: Publish Linux update packages
shell: bash
run: |
set -euo pipefail
dotnet publish src/TelegramPanel.Web/TelegramPanel.Web.csproj \
-c Release \
-r linux-x64 \
--self-contained false \
-p:UseAppHost=false \
-o artifacts/linux-x64
dotnet publish src/TelegramPanel.Web/TelegramPanel.Web.csproj \
-c Release \
-r linux-arm64 \
--self-contained false \
-p:UseAppHost=false \
-o artifacts/linux-arm64
- name: Pack release assets
id: pack
shell: bash
run: |
set -euo pipefail
TAG="${{ steps.vars.outputs.tag }}"
mkdir -p dist
X64_ZIP="telegram-panel-${TAG}-linux-x64.zip"
ARM64_ZIP="telegram-panel-${TAG}-linux-arm64.zip"
(cd artifacts/linux-x64 && zip -rq "../../dist/${X64_ZIP}" .)
(cd artifacts/linux-arm64 && zip -rq "../../dist/${ARM64_ZIP}" .)
echo "x64=dist/${X64_ZIP}" >> "$GITHUB_OUTPUT"
echo "arm64=dist/${ARM64_ZIP}" >> "$GITHUB_OUTPUT"
- name: Create GitHub Release with auto changelog
uses: softprops/action-gh-release@v2
with:
tag_name: ${{ steps.vars.outputs.tag }}
generate_release_notes: true
append_body: true
prerelease: ${{ contains(steps.vars.outputs.tag, '-') }}
files: |
${{ steps.pack.outputs.x64 }}
${{ steps.pack.outputs.arm64 }}
body: |
## 本次版本主要更新
> 下方会自动附加完整变更记录(Changelog),这里保留部署与更新入口说明。
## 部署与更新
### 1. Docker 镜像
拉取对应 tag 的镜像:
```bash
docker pull ghcr.io/${{ github.repository }}:${{ steps.vars.outputs.tag }}
```
### 2. 面板内一键更新(Docker)
路径:`左上角版本号 -> 版本信息弹窗 -> 一键更新并重启`
## 应用内更新资产
- `${{ steps.pack.outputs.x64 }}`
- `${{ steps.pack.outputs.arm64 }}`
> 程序会自动匹配容器架构下载更新包,并部署到 `/data/app-current`。