-
-
Notifications
You must be signed in to change notification settings - Fork 1.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
リリース運用の再考 #12807
Comments
過去にあった提案。これを軸にしてもいいかもしれない |
そんな感じが理想だけどその通り運用できる自信がないわね(色々忘れそう) |
PRを自動でGithubのマイルストーンに紐付けるBotを組んで運用すればいいかも PRを確認したら、重要度別のラベルを貼ってやると、それをもとにBotがマイルストーンを振り分けるとか |
🆒 |
さすがすぎる |
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
ここにMisskeyリポジトリの運用を一部自動化するためのBotを作ろうとした残骸がある |
手段はなんとかなりそうなので、あとはその手段を活かすための運用の中身か… |
でだいぶ変わってきますが、どっちでいきますか |
前者にするかしら |
このあたりのスケジュール間隔はそのままでよさそうですか? |
This comment has been minimized.
This comment has been minimized.
Misskey Hubの更新なども含めてリリース作業自体を自動で行ってくれるBotが欲しくなってきた(人間はapproveするだけ) |
どんな手動作業があるのかしら |
様々なボタンをぽちぽちする |
リリースノート然り、package.jsonバージョンの更新とか、GitHub Releaseのバージョン名入力とか、人間がやるとミスしそうなポイントがいくつもある(実際ミスしてる) |
tamainaさんの貼ってくれたやつとかActionsとか組み合わせたらうまいこと解決できそうではあるかも |
https://github.com/anatawa12/AvatarOptimizer/blob/master/.github/workflows/release.yml リースノートは人間向けなので自動化はあまり良くないと思ってますが(validationは賛成) package.json等の更新は現在進行系で使ってる例があります(master一本運用なのでマージ等改修必須ですが) |
これはビルド時にChangelogを取得して反映とかでうまいことできそう |
package.jsonが変だったらマージを防止するぐらいでもいいような気はするけど、そもそも「次のリリース名の定義」ってどうやって持たせればいいんだ |
(今日明日は忙しいけど、一息ついたらここまでの流れと残課題を整理&botの要件取りまとめをしたい) |
一応私の回してる自動リリースでは
という形で回ってるのでどうにかはなります |
年末年始は時間があるしある程度のそういう自動化・半自動化は得意分野なので取り組むのであれば私も何かしらはできるかもしれないですね〜 |
開発速度が異常な以上はついてきてもらうほかないんじゃない (個人的には2日おきにリリースしてもいいと思っている) |
なんか世間的には2日おきはついてこれないレベルらしい( |
開発が早すぎて変更の把握が追いつかないってことはまああると思うんですけど、それがリリース期間を長く取ることで改善されるわけではないように思います。(時間あたりの変更量は変わらないため) |
あるいは、リリースの度にアップデートの作業をするのが負担だという話? |
人間がpackage.jsonやPRのマージに触ってはいけない(readyは触る) workflow dispatchで全自動で行われる |
package.jsonの更新とPRの作成は勝手にスケジュールに沿って行われる感じかしら |
workflow dispatchとcronはお好みで選べる |
やりたい |
新しい運用方法まとめあるかしら |
( https://github.com/joinmisskey/release-actions で動いているので実際に動かすとわかりやすいかもしれない |
自分の知能では理解できなさそう |
Workflowsリポジトリに3つのワークフローを置く
「リリースコミット作成」とは「リリースコミット作成」機能は次の操作が実行される
Phase 0: 開発masterブランチで新機能の取り込みをする Targetの作成リリースPRがない状態でメインワークフローをDispatchすると、次の操作が実行される
Phase 1: リリースに専念やること
ここでメインワークフローを( Ready for ReviewPRをReady for Reviewにするとrcリリースが発行される (rcリリースの番号はbetaの続き、GitHubの使用上draftに戻せるがそれだとコンフリクトするため) Phase 2: Release CandidateRCで最終確認する Phase 3: Publish The Releaseメインワークフローを 次の操作が実行される
→ Phase 0に戻る |
release/ブランチができるの議論の流れとは逆だけど、PRベースでやるにはそうするしかない (そういう面ではmaster-developの方がいいのだけれど?) |
release(もしくはdevelop)のバグフィックスと並行してmasterへ機能を追加するのは破綻する(正式リリースでマージする際にコンフリクトが発生したりreleaseのバグ修正をmasterへ反映しにくくなるため) (こういった面でもmaster-developの方がいいのだけれど?) |
(master-developシステムを推奨したからと言ってmaster-develop用のスクリプトが準備されているわけではない) |
(他のプロジェクトは結構やってるらしいけど、Misskeyの場合(?)バグフィックスと機能追加が絶望的に相性が悪いことがままあるため、そんなことはしない方がいいと思っている) |
? |
#12807 (comment) らへんのコメントを見たので (あとロック未実装のActionsを試している時に間違ってmasterを更新したら面倒なことになったので念押しした) |
何が課題として残っているのか知りたい
|
色々あって導入のタイミングがなかなか決まらないのが大きな原因な気がする |
(月初めだし、前回リリース以降CHANGELOGが変化するPRがまだ入っていないので導入するなら今がタイミング的に一番良さそうだとは思っている) |
やるか |
Summary
文章力が限界なので考えてることを箇条書きします
なぜこんなことを考えたかというと、
Purpose
The text was updated successfully, but these errors were encountered: