完全に Cygwin Package Maintainer にしか必要がない情報ですがまとめておきます。
以前、公式パッケージの配布の方法をまとめましたが、その中で実際に配布するバイナリはメンテナの環境でビルドしたものをアップロードする旨を書きました。
この場合、悪意を持ったバイナリを混入させることができるんじゃないかと思っていました。
それを考慮したためか不明ですが、現在は CI でビルドしたバイナリをそのまま公式パッケージとしてアップロードする仕組みが用意されているようです。
ここに記載してある SCALLYWAG=deploy
を .cygport
に書いておくと、CI が成功した場合のみ artifact からバイナリパッケージを抽出して、自動で公式サーバにアップロードされるようです。
ちなみに指定するとビルドジョブのステータスは Deployed になります。
また、この方法でデプロイすると、パッケージに test タグがついたままであるため、ユーザが明示的にテスト版をインストールする設定にしないと、インストーラーで表示されません。そのため、問題ないと思われるものについては test タグを外す必要があります。
test タグを外すには ssh で untest コマンドを実行します。
Package maintainers can promote their own packages from test to current using:
ssh cygwin@cygwin.com untest package-version-release
実際に実行すると以下のようになります。
$ ssh cygwin@cygwin.com untest tty-clock-2.3-1 untest: Removed test: label from x86/release/tty-clock/tty-clock-2.3-1-src.hint untest: Removed test: label from x86/release/tty-clock/tty-clock-2.3-1.hint untest: Removed test: label from x86/release/tty-clock/tty-clock-debuginfo/tty-clock-debuginfo-2.3-1.hint untest: Removed test: label from x86_64/release/tty-clock/tty-clock-2.3-1-src.hint untest: Removed test: label from x86_64/release/tty-clock/tty-clock-2.3-1.hint untest: Removed test: label from x86_64/release/tty-clock/tty-clock-debuginfo/tty-clock-debuginfo-2.3-1.hint untest: 6 out of 6 hints for 'tty-clock' version '2.3-1' modified
これでミラーリングが終われば、インストーラーで最寄りのサーバからインストールできるようになります。