更新はリリースノートより先に公開されます

When I get that “New Discourse version, update available” email from my forum (this time about 2.1.0.beta1), I know @jomaxro 's elaborate release notes will appear here within 6-24 hrs. or so. It’s not very important, but I would organize it in a different order.

「いいね!」 1

I agree, first thing I do is go and look at the release notes to determine whether or not I am going to apply the update.

「いいね!」 2

There is a high level release note list here: Discourse Version 2.1

「いいね!」 1

The notes are in the above topic, so this is covered.

I’m not seeing any notes specifically for 2.1b1. Just a general list of goals for the final version of 2.1.

I’m off today (family event), will respond to this properly next week. Short version: there are no major changes from the last release notes (2.0.0.beta10) and 2.1.0.beta1 - we simply pushed 2.0 to stable and moved work to 2.1.

「いいね!」 4

この投稿は 2021-06-28T04:00:00Z に現在のプロセスを詳細に説明するために最終更新されました。

こんにちは皆さん!ここで扱うトピックがいくつかありますが、すべてカバーできるか確認してみましょう。

これは意図的な決定です。ベータ版のリリースには正式なリリースシステムを持っていません。私たちが行うことが適切だと判断したときに新しいリリースを公開します。そのため、リリース前に警告がほとんどなく、リリースノートを作成する時間も限られています。@codinghorror は、ノートの準備ができるまでリリースを延期するのは意味がないと判断しました。

ベータ版のリリースは、エンジニアリングチームとコミュニティチームの間で調整されています。リリースノートは、ベータ版リリースと同時、あるいはそれより少し前に公開されるはずです。

beta1 のリリースノートは表示されません。 混乱を避けるため、すべてのベータ版リリースに対してリリースノートが作成されます。安定版リリースにもノートが提供されます。ただし、beta1(どのバージョンのものでも)は、前のリリースの最後のベータ版とほぼ同一である点にご注意ください。

これがなぜそうなのかを理解するには、私たちのブランチの構成について少し説明する必要があります。

ここでは Discourse の 4 つのブランチを知る必要があります:maintests-passedbetastable

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:announcementsrelease-notes において、これをより明確にするために何か異なる対応ができるでしょうか?

「いいね!」 20