- 确认工作区只包含计划发布的改动。
- 更新
CHANGELOG.md,把已完成内容从Unreleased移到目标版本。 - 同步
wails.json产品版本与构建参数。 - 检查
README.md、README.en.md和硬件支持边界。
go vet ./...
go test ./... -count=1
npm run typecheck --prefix frontend
npm run build --prefix frontend
.\scripts\validate-etw-admin.ps1人工检查:
- 主窗口关闭后进入托盘,托盘退出后进程消失;
- 主窗口和独立悬浮窗可以同时显示;
- 仪表盘与纯文字悬浮模式都能显示所选指标;
- CPU/GPU 温度分别显示真实值或独立原因;
- 四种语言与浅色/深色界面无明显截断;
- 升级迁移不覆盖旧设置,卸载默认保留数据。
.\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()- 提交并推送准备好的版本,再创建并推送
vMAJOR.MINOR.PATCH标签。 .github/workflows/release.yml会在 Windows 托管运行器上重新验证和构建,并创建FlowScope vMAJOR.MINOR.PATCHRelease。- 工作流会上传安装包、便携包、
checksums.txt和THIRD_PARTY_NOTICES.txt,并在正文展示项目截图和升级说明。 - 如果自动发布失败,不要复用或移动已经公开的标签;先定位失败原因,修复后发布新的补丁版本。
- 从干净目录安装一次并复核版本号。
- 下载 GitHub 上的附件重新计算 SHA-256。
- 创建下一个
Unreleased小节。
- Confirm that the workspace contains only intended release changes.
- Update
CHANGELOG.mdand move completed entries fromUnreleasedto the target version. - Keep the
wails.jsonproduct version and build arguments in sync. - Review
README.md,README.en.md, and documented hardware-support boundaries.
go vet ./...
go test ./... -count=1
npm run typecheck --prefix frontend
npm run build --prefix frontend
.\scripts\validate-etw-admin.ps1Manual 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.
.\scripts\build.ps1 -Version 0.1.1Verify 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()- Commit and push the prepared version, then create and push a
vMAJOR.MINOR.PATCHtag. .github/workflows/release.ymlrevalidates and builds on a Windows-hosted runner, then creates theFlowScope vMAJOR.MINOR.PATCHrelease.- The workflow uploads the installer, portable package,
checksums.txt, andTHIRD_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.
- Install once from a clean directory and confirm the version.
- Download GitHub assets and recompute SHA-256.
- Create the next
Unreleasedsection.