Skip to content

Wails v2 デスクトップ配布ビルドを実地検証する #92

@terisuke

Description

@terisuke

目的

Note Maker を、非開発者がインストールして起動できる Wails v2 デスクトップアプリとして配布する。Tier 1 launcher と同じデータディレクトリを使い、既存の Go handlers と static/ UI を再利用する。

現在の状態

ソース側の準備は develop に入っている。

  • Wails v2 は cmd/desktop/go.mod で pin 済み
  • make desktop-build は macOS arm64 で成功済み
  • desktop-release.yml に dry-run / release / checksum / signing gate がある
  • scripts/release-readiness-check.sh で workflow visibility と signing secret 状態を記録できる
  • 詳細手順は docs/handoffs/open-issues-field-validation-2026-05-04.mddocs/operations/desktop-release-runbook.md にある

現在の外部 blocker:

  • repository default branch は main
  • 新しい workflow は develop にあり、main に到達するまで manual dispatch できない
  • 2026-05-04 時点で visible secrets は FIREBASE_TOKEN, GCP_SA_KEY, GEMINI_API_KEY のみ
  • Apple / Windows signing secret は未設定

ローカル確認

git checkout develop
git pull --ff-only origin develop
(cd cmd/desktop && go test ./... && go test -tags wails ./...)
make desktop-check
make desktop-build
RUN_MULTI_ARCH_BUILD=0 RUN_TAILSCALE_STARTUP=0 ./scripts/release-readiness-check.sh
git diff --check

build/ は検証後に git 管理へ入れない。artifact として残す場合は GitHub Actions artifact か別保存にする。

GitHub Actions dry-run

workflow files が main に到達してから実行する。

gh workflow run desktop-release.yml --repo terisuke/note_maker --ref main \
  -f dry_run=1 \
  -f release=0

確認:

gh run list --repo terisuke/note_maker --workflow 'Desktop Release' --limit 5
gh run view --repo terisuke/note_maker <run-id> --log

記録すること:

  • macOS job の artifact 名
  • Windows job の artifact 名
  • Linux job の artifact 名
  • .sha256
  • dry-run command log

署名つき release

release=1 の前に以下を設定する。

  • APPLE_CERTIFICATE
  • APPLE_CERTIFICATE_PASSWORD
  • APPLE_TEAM_ID
  • APP_STORE_CONNECT_KEY_ID
  • APP_STORE_CONNECT_ISSUER_ID
  • APP_STORE_CONNECT_KEY
  • WINDOWS_CERTIFICATE
  • WINDOWS_CERTIFICATE_PASSWORD

実行:

gh workflow run desktop-release.yml --repo terisuke/note_maker --ref main \
  -f dry_run=0 \
  -f release=1

実機 smoke

macOS / Windows / Linux それぞれで確認する。

  • アプリが起動する
  • 既存 UI が表示される
  • 初回起動で Tier 1 と同じデータディレクトリを作る
  • 既存 Tier 1 データを migration なしで読める
  • Open Data Folder が動く
  • LLM Diagnostics が開ける
  • アプリ自体は internet なしで起動する
  • 終了が clean に完了する

Close 条件

次をすべて満たしたら close する。

  • GitHub Actions の dry-run workflow で macOS / Windows / Linux artifact と checksum が生成される
  • macOS build が Apple Developer ID で署名・notarize される
  • Windows build が署名される
  • Linux artifact と checksum が取得できる
  • 3 platform の実機 smoke が pass する
  • app startup が internet 必須ではない
  • Wails v2 pin が維持されている

Close してはいけない条件

  • workflow が main に無く dispatch できない
  • dry-run artifact しかなく署名・notarization が未実施
  • macOS だけ、または開発機だけの検証で終わっている
  • Windows / Linux の実機 smoke が未実施

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions