Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

winget-usacloud

usacloudwingetで 配信するためのマニフェスト管理リポジトリです。

概要

このリポジトリは、 usacloud(さくらのクラウドCLIクライアント)のwinget-pkgsマニフェストを管理し、 GitHub Actionsで自動的にmicrosoft/winget-pkgsへPRを送信します。

仕組み

2段構成のワークフロー(publish.yml)で自動配信を行っています。

  1. detect job(毎日18:00 JST)
    • usacloudの最新リリースを確認し、未登録バージョンの場合workflow_dispatchpublish jobを再トリガー
  2. 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.01.22.01.22.1<version> は1ディレクトリ分の構成を示しています。

セットアップ

リポジトリのSecretsSettings > Secrets and variables > Actions)に 以下を登録してください。

シークレット名 説明
WINGET_PAT public_repoスコープを持つGitHub PAT

ライセンス

MIT License

About

usacloudを wingetで配信するための マニフェスト管理リポジトリです。

Topics

Resources

Stars

Watchers

Forks

Used by

Contributors