Agent Skills › HermannBjorgvin/Clawdmeter › cutting-a-release

cutting-a-release

GitHub

负责准备和发布 Clawdmeter 软件版本,包括创建语义化标签、执行本地打包与图标检查、构建多平台固件及桌面安装包,并生成相关清单文件。

.claude/skills/cutting-a-release/SKILL.md HermannBjorgvin/Clawdmeter

触发场景

请求切割或发布新版本时 需要验证发布流程或打包是否就绪时

安装

npx skills add HermannBjorgvin/Clawdmeter --skill cutting-a-release -g -y
更多选项

非标准路径

npx skills add https://github.com/HermannBjorgvin/Clawdmeter/tree/main/.claude/skills/cutting-a-release -g -y

不安装直接使用

npx skills use HermannBjorgvin/Clawdmeter@cutting-a-release

指定 Agent (Claude Code)

npx skills add HermannBjorgvin/Clawdmeter --skill cutting-a-release -a claude-code -g -y

安装 repo 全部 skill

npx skills add HermannBjorgvin/Clawdmeter --all -g -y

预览 repo 内 skill

npx skills add HermannBjorgvin/Clawdmeter --list

SKILL.md

Frontmatter
{
    "name": "cutting-a-release",
    "description": "Prepares and publishes a Clawdmeter release - version tags (vX.Y.Z, -rc prereleases), what release.yml builds (merged firmware images, manifest.json, ESP Web Tools manifests, desktop archives, dmg\/msi\/deb\/AppImage, SHA256SUMS), and the local packaging and icon checks to run first. Use when asked to cut, tag or publish a release or release candidate, check a release is ready, or debug the release workflow or packaging."
}

Cutting a release

Pushing a tag publishes a GitHub Release that users' apps see. Never push a tag without the owner's explicit go-ahead for that exact tag.

Tags

vMAJOR.MINOR.PATCH, with an optional prerelease suffix (v2.1.0-rc.1). The workflow rejects anything else. Tags with a hyphen publish as prereleases, which the desktop app's update check skips. See existing tags with git tag --sort=-creatordate | head.

Before tagging

Release checks:
- [ ] main is green: firmware.yml and desktop.yml passed on the commit
- [ ] Every hardware env has a DISPLAY_NAMES entry in tools/ci/make_manifest.py
- [ ] python3 tools/packaging/make_icons.py --check   (icons match the firmware art)
- [ ] python3 -m unittest discover -s tools/ci/tests
- [ ] Packaging changed? Run the local checks below
- [ ] .github/ changed? actionlint (+ shellcheck) passes

Local packaging checks (Linux), after cargo build -p clawdmeter-app --release in desktop/:

(cd desktop && cargo deb -p clawdmeter-app --no-build)        # needs cargo-deb
tools/packaging/appimage.sh desktop/target/release/clawdmeter /tmp/clawdmeter.AppImage /tmp/appimage-work

What release.yml builds

The header comment of .github/workflows/release.yml lists the assets; in short:

  • <env>-<tag>.bin: one merged image per hardware env, flashed at 0x0, built with CLAWD_VERSION set to the tag.
  • manifest.json (tools/ci/make_manifest.py): version plus per-board chip, flash size, display name, file, offset, size, sha256. The app's flasher matches boards by chip and flash size from it.
  • webtools-<env>.json (tools/ci/make_webtools_manifest.py): ESP Web Tools.
  • Desktop archives built with CLAWDMETER_VERSION=${tag#v}: Linux binary, macOS universal Clawdmeter.app (ad-hoc signed, NSBluetoothAlwaysUsageDescription
    • LSUIElement), Windows exe.
  • Installers: .dmg (hdiutil), per-user .msi from tools/packaging/wix/clawdmeter.wxs (WiX 5), .deb from [package.metadata.deb] in desktop/crates/clawdmeter-app/Cargo.toml, .AppImage from tools/packaging/appimage.sh on ubuntu-22.04 (host Vulkan/Wayland/D-Bus, nothing GPU-side bundled).
  • SHA256SUMS.

Nothing is signed beyond the ad-hoc macOS signature. MSI versions are numeric, so v1.2.0-rc.1 installs as 1.2.0.

Packaging assets live in tools/packaging/: icons (PNG/ICO/ICNS rendered from the official idle Clawd by make_icons.py, committed; the release fails if they drift from the firmware art) and linux/clawdmeter.desktop (app_id clawdmeter).

Nix

flake.nix (Linux only) builds the app with nix build .#clawdmeter (Vulkan/Wayland added to the rpath rather than wrapped, because the app writes its own path into hooks and autostart). Bump inputs with nix flake update.

版本历史

  • 4e5c079 当前 2026-10-19 03:10

同 Skill 集合

.claude/skills/capturing-desktop-screenshots/SKILL.md
.claude/skills/capturing-device-screenshots/SKILL.md
.claude/skills/flashing-and-probing-boards/SKILL.md
.claude/skills/hunting-clawd-animations/SKILL.md
.claude/skills/porting-a-board/SKILL.md
.claude/skills/regenerating-firmware-assets/SKILL.md
.claude/skills/verifying-firmware-ui/SKILL.md

元信息

文件数
0
版本
4e5c079
Hash
34d0e181
收录时间
2026-10-19 03:10

首页 - Wiki
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-10-25 10:40
浙ICP备14020137号-1