Skip to content

Add macOS DMG release automation and update v1.8.3 release notes - #1

Merged
heropml merged 4 commits into
CommToolfrom
claude/laughing-franklin-yhdfch
Sep 24, 2026
Merged

heropml merged 4 commits into
CommToolfrom
claude/laughing-franklin-yhdfch

Conversation

@heropml

@heropml heropml commented Sep 24, 2026

Copy link
Copy Markdown
Owner

Summary

This PR adds automated macOS DMG package building and release to GitHub, completing the v1.8.3 release across all platforms (Windows, macOS, Linux). It also updates documentation and release notes to reflect macOS availability.

Key Changes

  • New GitHub Actions workflow (.github/workflows/release-macos.yml):

    • Builds CommTool DMG on macOS 14 (Apple Silicon runner)
    • Extracts version from src/version.py and validates release exists
    • Implements idempotent upload: skips if DMG already exists on release
    • Performs smoke test (offscreen launch for 20s validation)
    • Uploads DMG to GitHub release and validates asset metadata
    • Retains DMG as workflow artifact for 14 days
  • Updated release metadata (latest.json):

    • Added macOS DMG download URL for v1.8.3
    • Populated sha256_mac and size_mac fields with actual values
  • Documentation updates across all language variants:

    • Updated installation instructions to reference v1.8.3 DMG (was v1.8.0)
    • Removed "macOS new version pending" notices
    • Updated release notes to confirm all platforms (Windows/macOS/Linux) are published for v1.8.3
    • Updated schedule/status tracking to reflect complete v1.8.3 release

Implementation Details

  • Workflow is idempotent: checks if DMG already exists on release before building, preventing duplicate uploads and preserving existing asset metadata
  • Uses macos-14 runner for Apple Silicon (arm64) compatibility
  • Validates release existence before attempting build (requires Windows release to be created first)
  • Includes smoke test to verify binary launches successfully
  • Runs on manual dispatch or workflow file changes for testing

https://claude.ai/code/session_01TSZhopixE2DC3VJmxrGUCz

1. 打包
- macos-14(Apple Silicon)+ Python 3.13 调 scripts/build_macos.sh --dmg,依赖走 PyPI
- offscreen 冒烟启动 20 s,进程提前退出即失败

2. 发布
- 版本号取 src/version.py,只往已存在的 comm-v<版本> Release 追加 CommTool_v<版本>.dmg
- Release 已有同名 DMG 时整段跳过,不 clobber,保护已写入的 sha256_mac / size_mac
- 上传后跑 check_mac_asset.py 门禁,并保留 14 天 workflow artifact

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TSZhopixE2DC3VJmxrGUCz
1. macOS 安装包
- GitHub Actions macos-14(Apple Silicon)+ Python 3.13 用 build_macos.sh --dmg 打包 CommTool_v1.8.3.dmg
- offscreen 冒烟启动通过,已挂到 GitHub Release comm-v1.8.3(Gitee 标准流程不放 dmg)
- 发布门禁 check_mac_asset.py 通过

2. 在线更新
- latest.json 写入 url_mac 指向该 GitHub 直链
- sha256_mac / size_mac 按下载回来的 DMG 计算,与 GitHub 资产 digest 一致
- Windows / Linux 摘要与下载地址未改

3. 验证
- test_update_manifest_integrity / test_updater_mac 12 个通过

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TSZhopixE2DC3VJmxrGUCz
1. 发布状态
- README v71、发行说明与排期标记 Windows / macOS / Linux x86_64 均已发
- 发行说明下载表填入 CommTool_v1.8.3.dmg,删除 macOS 待补包说明

2. 三语用户文档
- USAGE / 使用说明 / 使用說明 的 v1.8.3 发布范围改为三平台已发
- 安装章节当前版本改为三平台 v1.8.3,macOS 资产文件名改为 v1.8.3

3. 验证
- git diff --cached --check 通过

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TSZhopixE2DC3VJmxrGUCz
- DMG 上传(或已存在)后,用 docs/RELEASE_NOTES.md 全文更新 GitHub Release 正文,与 release.ps1 同源
- 仅当发行说明已列出当前版本的 DMG 文件名时才同步,避免用旧文案覆盖

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TSZhopixE2DC3VJmxrGUCz
@heropml
heropml merged commit 677290b into CommTool Sep 24, 2026
7 checks passed
@heropml
heropml deleted the claude/laughing-franklin-yhdfch branch September 24, 2026 11:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants