この投稿は 2021-06-28T04:00:00Z に現在のプロセスを詳細に説明するために最終更新されました。
こんにちは皆さん!ここで扱うトピックがいくつかありますが、すべてカバーできるか確認してみましょう。
これは意図的な決定です。ベータ版のリリースには正式なリリースシステムを持っていません。私たちが行うことが適切だと判断したときに新しいリリースを公開します。そのため、リリース前に警告がほとんどなく、リリースノートを作成する時間も限られています。@codinghorror は、ノートの準備ができるまでリリースを延期するのは意味がないと判断しました。
ベータ版のリリースは、エンジニアリングチームとコミュニティチームの間で調整されています。リリースノートは、ベータ版リリースと同時、あるいはそれより少し前に公開されるはずです。
beta1 のリリースノートは表示されません。 混乱を避けるため、すべてのベータ版リリースに対してリリースノートが作成されます。安定版リリースにもノートが提供されます。ただし、beta1(どのバージョンのものでも)は、前のリリースの最後のベータ版とほぼ同一である点にご注意ください。
これがなぜそうなのかを理解するには、私たちのブランチの構成について少し説明する必要があります。
ここでは Discourse の 4 つのブランチを知る必要があります:main、tests-passed、beta、stable。
Main:
Discourse に新しいコミットが追加されると、それは main ブランチにあります。Main は Discourse の絶対最新(最も現在の)ブランチであり、main ブランチを追跡してサイトを運用することは推奨されません。
Tests-passed:
main ブランチに新しいコミットがプッシュされると、ビルドサーバーが自動的に最新のコードに対してすべてのテストを実行します。すべてが合格すると、そのコミットは tests-passed ブランチに追加されます。これは、すべての Discourse サイトがデフォルトで実行するブランチです。
Beta:
数週間ごとに、tests-passed 上の現在のコミットを beta にプッシュします。ベータ版は、より多くのサイトに実行してもらい、テストしたいコミットのコレクションを公開するための「マイルストーン」として使用されます。また、重要なセキュリティ修正をサイトに提供したい場合にもベータ版をプッシュします。ベータ版がプッシュされると、tests-passed または beta を実行しているすべてのサイトに「新しいアップデート利用可能」メールが届きます。tests-passed を実行しているサイトは現在の tests-passed コミット(ベータ版後にプッシュされた新しいコミットを含む)に更新されますが、beta を実行しているサイトは更新されません。
Stable:
4〜6 ヶ月ごとに新しい stable ビルドをリリースします。stable をプッシュする約 2 週間前に最後のベータ版をリリースします。その後、ログを注意深く監視して残存するバグを捕捉し、新しい機能やリスクのある変更を追加しないようにします。現在のベータ版の状態に満足したら、stable にプッシュします。
上記を理解した上で、2.0.0 を例に挙げてみましょう。5 月 16 日に 2.0.0.beta10 をプッシュしました。tests-passed または beta を実行しているすべてのユーザーがメールを受け取り(更新されたと想定)、私はそのベータ版のリリースノートを作成しました。約 2 週間後の 5 月 31 日、そのビルドを 2.1.0 として stable にプッシュしました。tests-passed または beta を実行しているユーザーにも更新を確実に提供するため、同じビルドを 2.1.0.beta1 としてプッシュしました。
これですべてお分かりいただけますか?#feature:announcements の release-notes において、これをより明確にするために何か異なる対応ができるでしょうか?