BaoCut デスクトップリリース
これは Electron v3 アプリ(com.baocut.app)です。古い baocut-app スキルは参照用であり、このチェックアウトの実行可能なワークフローではありません。この開発者スキルはアプリのクラフト skills/ の外に置いてください。レガシーな GPUI/npm/Homebrew リリースを呼び出さないでください。
ワークフローの選択
| ユーザーの意図 | 読み、従うべきもの |
|---|---|
| 通常のリリース/公開リクエスト。方法の指定なし | タグリリース — デフォルト。フリーズされたソースタグをプッシュします。最初に検証済みのMac arm64を公開し、その後同一リリースにWindows CPU/CUDA/Vulkanを追加します。 |
| 明示的なローカルパッケージ/候補、従来または手動リリース、単一プラットフォームの復旧/継続 | 従来リリース。要求されたプラットフォームとローカル限定/公開スコープを尊重します。 |
| 署名証明書、ポータブルバックアップ、またはGitHub認証情報のみ | 署名/バックアップ。タグの作成や公開は行いません。 |
選択された意図に必要なリファレンスのみを読み込んでください。ユーザーがリリース方法を指定していない場合に、2つのリリース方法の選択をユーザーに促さないでください。タグリリースを使用します。Actionsの失敗後に暗黙的に従来のパッケージングにフォールバックしないでください。特定のローカル限定またはプラットフォーム限定の指示は、デフォルトの全プラットフォームスコープを上書きします。ユーザーの明示的な方法と制限に従ってください。
共有リリース制約
- 編集前にgitステータスを確認し、無関係な作業や同時進行中の作業を保持します。リリースをフリーズする前に、タスクが所有するソース変更をコミットします。レポジトリのコミット、現在のタスクのプッシュ承認、およびワークツリーのクリーンアップルールに従います。別のタスクからのプッシュ承認を再利用したり、すでに付与されている場合に再度要求したりしないでください。
apps/desktop/package.jsonがアプリのバージョンを管理します。npm を通じてルートバージョンとロックファイルを同期します。アプリリリースのためにCargoやプロトコルのバージョンをバンプしないでください。- ビルドを選択する前に、実際のリリース/フィードを照会します。ビルドは厳密に増加します。すでに公開されたタグやファイルは不変です。
- タグとすべてのプラットフォーム成果物を1つの完全なソースSHAに結び付けます。ダーティソースのバイナリ、プライベート署名素材、または中間公証提出物を決して出荷しないでください。
- Mac候補が合格したらすぐに、Macリリース、調整された変更ログ、および検証済みのダウンロードリンクを公開します。Windows/CUDAビルドはこの段階をブロックしません。後続のプラットフォーム完了は、そのリリースのアセット、ノート、フィードを更新します。GitタグやそのソースSHAは決して更新しません。保留中のプラットフォームを個別に報告し、以下の完了ステップでLatestを進めます。
- 新しい公開バージョン/ビルドごとに、リリースノートに従います。コミット/PRの全範囲を棚卸しし、大きな範囲をバッチで要約し、カバレッジを調整し、統合された変更ログを公開します。ローカル候補は同じノートをローカルに保持します。プラットフォーム継続は、既存のバージョンの範囲を再利用します。
- すべての公開リリースまたはプラットフォーム継続の後、ダウンロードリンクを使用してダウンロードリンクを確認します。READMEとbaocut.comは
baocut.com/download/<id>にリンクしており、これはGitHub Releasesを自動的に追跡します。リリースのためにREADMEを編集したりサイトを再デプロイしたりしないでください。baocut.comが新しいビルドを提供していることを確認します。 - 実際のチェックとスキップを報告します。タグのプッシュや認証情報のチェックだけではリリース完了とはなりません。公開には、成功したジョブ、パブリックな読み返し、フィード、検証済みのリリースノート、および合格したbaocut.comダウンロードチェックが必要です。
公開リリースの完了
選択されたすべてのプラットフォームが公開され、公開アセットとフィードが読み返しに合格し、統合されたリリースノートが検証されたら、GitHubのリリースタブで最新の安定版デスクトップリリースをLatestとしてマークします。
gh release edit "$release_tag" --repo "$release_repo" --latest
gh api "repos/$release_repo/releases/latest" --jq '.tag_name'
このタスクには検証済みのレポジトリとタグを使用します。読み返しはそのタグと一致する必要があります。プラットフォーム公開者は、検証とアップロードが進行中は以前のLatestを保持するため、Actionsが成功した場合でもこの最終ステップが必要です。ローカル候補、ドラフト、プレリリースはLatestを進めません。古いリリースを継続する場合、新しい公開デスクトップバージョン/ビルドをLatestとして維持します。検証済みのLatestタグを完了レポートに含めます。
デスクトップガイドがパッケージングの仕組みを管理しています。モード固有のリファレンスは、いつそれを読み込むかを説明します。リリース設定のみを変更するリクエストは、リリースタグを作成したり公開したりしてはいけません。