Skip to content

Latest commit

 

History

History
111 lines (81 loc) · 3.78 KB

RELEASING.md

File metadata and controls

111 lines (81 loc) · 3.78 KB

发布流程

1. 准备版本

  • 确认工作区只包含计划发布的改动。
  • 更新 CHANGELOG.md,把已完成内容从 Unreleased 移到目标版本。
  • 同步 wails.json 产品版本与构建参数。
  • 检查 README.md、README.en.md 和硬件支持边界。

2. 验证

go vet ./...
go test ./... -count=1
npm run typecheck --prefix frontend
npm run build --prefix frontend
.\scripts\validate-etw-admin.ps1

人工检查:

  • 主窗口关闭后进入托盘,托盘退出后进程消失;
  • 主窗口和独立悬浮窗可以同时显示;
  • 仪表盘与纯文字悬浮模式都能显示所选指标;
  • CPU/GPU 温度分别显示真实值或独立原因;
  • 四种语言与浅色/深色界面无明显截断;
  • 升级迁移不覆盖旧设置,卸载默认保留数据。

3. 构建

.\scripts\build.ps1 -Version 0.1.1

核对 dist/checksums.txt,并确认便携包只有一个 EXE:

$zip = [IO.Compression.ZipFile]::OpenRead((Resolve-Path .\dist\FlowScope-Portable-x64.zip))
$zip.Entries.FullName
$zip.Dispose()

4. GitHub Release

  • 提交并推送准备好的版本,再创建并推送 vMAJOR.MINOR.PATCH 标签。
  • .github/workflows/release.yml 会在 Windows 托管运行器上重新验证和构建,并创建 FlowScope vMAJOR.MINOR.PATCH Release。
  • 工作流会上传安装包、便携包、checksums.txt 和 THIRD_PARTY_NOTICES.txt,并在正文展示项目截图和升级说明。
  • 如果自动发布失败,不要复用或移动已经公开的标签;先定位失败原因,修复后发布新的补丁版本。

5. 发布后

  • 从干净目录安装一次并复核版本号。
  • 下载 GitHub 上的附件重新计算 SHA-256。
  • 创建下一个 Unreleased 小节。

Release Process

1. Prepare the Version

  • Confirm that the workspace contains only intended release changes.
  • Update CHANGELOG.md and move completed entries from Unreleased to the target version.
  • Keep the wails.json product version and build arguments in sync.
  • Review README.md, README.en.md, and documented hardware-support boundaries.

2. Validate

go vet ./...
go test ./... -count=1
npm run typecheck --prefix frontend
npm run build --prefix frontend
.\scripts\validate-etw-admin.ps1

Manual checks:

  • closing the main window sends it to the tray, and tray exit removes the process;
  • the main window and independent floating monitor can be visible together;
  • dashboard and text-only monitor modes both show the selected metrics;
  • CPU and GPU temperatures each show a real value or an independent reason;
  • all four UI languages and light/dark themes have no obvious clipping;
  • upgrade migration does not overwrite existing settings, and uninstall keeps data by default.

3. Build

.\scripts\build.ps1 -Version 0.1.1

Verify dist/checksums.txt and confirm that the portable package has only one EXE:

$zip = [IO.Compression.ZipFile]::OpenRead((Resolve-Path .\dist\FlowScope-Portable-x64.zip))
$zip.Entries.FullName
$zip.Dispose()

4. GitHub Release

  • Commit and push the prepared version, then create and push a vMAJOR.MINOR.PATCH tag.
  • .github/workflows/release.yml revalidates and builds on a Windows-hosted runner, then creates the FlowScope vMAJOR.MINOR.PATCH release.
  • The workflow uploads the installer, portable package, checksums.txt, and THIRD_PARTY_NOTICES.txt, and presents project screenshots and upgrade notes in the release body.
  • If automated publication fails, do not reuse or move a public tag. Diagnose the failure and publish a new patch version after fixing it.

5. After Release

  • Install once from a clean directory and confirm the version.
  • Download GitHub assets and recompute SHA-256.
  • Create the next Unreleased section.