Closed jiro4989 closed 4 years ago
パッケージの自動リリース、あると便利だと思います! 気になるのは、やはりシェル芸botへの変更の反映をどうするか、ですかねぇ。 シェル芸botは都度 https://git.io/superunko.deb のURLから最新のパッケージをインストールしてくれるので。
都度、下記のURLの内容をPRするのも億劫ですし。。
https://github.com/unkontributors/super_unko/releases/download/<バージョン>/super_unko.deb
git.io のURLの向き先を変えられればいいんですがね、私が知る限りはできなさそうです。 しばらくは手動で pkg/superunko.deb に変更を反映してもいいんですが、今後はどうしたほうが綺麗ですかね。
release.yml に更に pkg/superunko.deb にコミットする処理を追加するか、別途GitHub Actionのcronなりを用意してリリースページのパッケージと pkg/superunko.deb に同期するか、はたまた何か別の方法か。。
release.yml に更に pkg/superunko.deb にコミットする処理を追加する
これが良さそうに感じました。
このあたりのActionsを使えばおそらくできそうです。 https://github.com/ad-m/github-push-action
もしバージョン番号を変更しないまま、debやrpmファイルを上書きすることが許容できるのでしたら、masterの更新時に常に最新版でdebやrpmファイルを上書きするようにもできますが、やりましょうか?
これをすると、リリースタグを作成し忘れても、ソースコードとして管理しているpkg/superunko.debなどは常に最新になります。
もしバージョン番号を変更しないまま、debやrpmファイルを上書きすることが許容できるのでしたら、 masterの更新時に常に最新版でdebやrpmファイルを上書きするようにもできますが、やりましょうか?
ものぐさなので、それできるなら嬉しいです!上書きも許容できます。
ちなみに、deb/rpmはビルドするごとにパッケージ自体のリリースバージョンにUNIX時間が設定されるので、パッケージ上は新しいバージョン扱いになり、基本的にはyum/dpkgはエラーは起こさないです。
$ rpm -q superunko
superunko-1.0.5-1567468284.x86_64
メジャー、マイナー、パッチバージョンは適宜大きな変更があったら手動 でリリースドラフトを作って上げる。パッケージ自体のリリースバージョンは機械的に上げる運用ですかね。
普段のpush時に実行されるCIのあとに、masterブランチのpush時だけdeb, rpmファイルを生成してgit pushするジョブを追加しました。
git tag
コマンドの実行結果のタグバージョンを取得するために
最低1つはGitHubReleaseにタグを切ってある必要があったので、1.0.5というタグだけ切りました
内容
補足