usacloudを wingetで 配信するためのマニフェスト管理リポジトリです。
このリポジトリは、 usacloud(さくらのクラウドCLIクライアント)のwinget-pkgsマニフェストを管理し、 GitHub Actionsで自動的にmicrosoft/winget-pkgsへPRを送信します。
2段構成のワークフロー(publish.yml)で自動配信を行っています。
- detect job(毎日18:00 JST)
- usacloudの最新リリースを確認し、未登録バージョンの場合
workflow_dispatchでpublish jobを再トリガー
- usacloudの最新リリースを確認し、未登録バージョンの場合
- publish job
wingetcreateでマニフェストを生成- →
winget validateで検証 - → ローカルマニフェストでテストインストール
- →
microsoft/winget-pkgsへPRを自動送信 - → 生成したマニフェストをこのリポジトリにコミット
手動実行でバージョンを指定して実行することもできます。
初回登録用に initial-submit.yml を用意しています(手動実行のみ)。
winget-usacloud/
├── .github/
│ └── workflows/
│ ├── publish.yml # 自動検出・生成・PR送信(detect/publishの2段構成)
│ └── initial-submit.yml # 初回登録用(手動実行のみ)
├── manifests/ # winget-pkgsマニフェスト管理ディレクトリ
│ └── s/sacloud/usacloud/
│ └── <version>/ # バージョンごとのwinget-pkgsマニフェスト
│ ├── sacloud.usacloud.yaml # version マニフェスト
│ ├── sacloud.usacloud.installer.yaml # installer マニフェスト
│ ├── sacloud.usacloud.locale.ja-JP.yaml # defaultLocale(ja-JP)
│ └── sacloud.usacloud.locale.en-US.yaml # locale(en-US)
├── .envrc # ローカル環境変数(direnv/git管理外)
├── .gitattributes # 改行コード設定(eol=lf)
├── .gitignore # git管理外ファイル
├── LICENSE # ライセンステキスト(MIT License)
└── README.md # READMEファイル
manifests/s/sacloud/usacloud/<version>/配下はリリースごとに増えていきます。 (例:1.21.0、1.22.0、1.22.1)<version>は1ディレクトリ分の構成を示しています。
リポジトリのSecrets(Settings > Secrets and variables > Actions)に
以下を登録してください。
| シークレット名 | 説明 |
|---|---|
WINGET_PAT |
public_repoスコープを持つGitHub PAT |