作業開始
0.2.6の10月リリースを目指して。
誰が纏めてどうリリースするのかみたいな手順は全く検討してないので、それはそのうち。。Rubyとかどうしてんのかなぁ。。
リリース担当のおしごと
Moshはフル機能の言語処理系としては規模が小さくそれなりにポータブルなので、リリース担当の仕事はそんなに多くない。
- gitのブランチを作る (0.2.6のは週末にでも作る。。)
- リリースノートを纏め、ドキュメント等の更新をそのブランチに対して行う
- masterや他のブランチでバグフィックスが有ったらpullする
- ヒープイメージを生成し、tar-ballを作る
- 各種プラットフォーム(Linux, FreeBSD, Visual Studio, MinGW, MacOS X, ...)でテストする
- 通ったらリリース&タグ打ち
- ブランチをmasterにマージして消す
各種プラットフォームでのテストはそろそろ自動化されるので、リリース担当の仕事は主にドキュメント(RELNOTE)書き。
あと、パッチの調停もリリース担当のお仕事になる。最近だと、テストの通らなくなるfixをrevertしたりしている。
開発者全員が全ての環境で全てのテストを通しつづけるのは困難なので、テスト担当を置く価値が有る。
リリースの意義
そもそも、みんなgitくらい持ってるし明確なリリースなんて無くて良いじゃんという説も有るが、Moshのbootstrapには必要なソフトが非常に多いので、定期的にリリースするのはそれなりに重要な項目だったりする。(re2c, autoconf, automake, libtool, Gauche, mosh, ...。nmoshはGauche無しでビルドできるように変更したので、将来的にはGaucheは要らなくなるかもしれない。また、libtoolも要らなくなるように努力している。)
本来、リリースは新機能を告知するという営業政策的な機能も有るわけだけど、残念ながら0.2.6は当初入れる予定だったREPLの改善を入れないので、純粋にバグフィックスリリースということに。
でも、64bit OS対応は地味に大きいかも。FreeBSDとMacOS Xのamd64に対応したので、これでWindows以外では64bit環境で使えるように。今はWin64対応も(僕が必要としているので)それなりにpriority高いんですが、作業量が多いので先送り中。。VCとMinGW両対応ってのが地味に面倒。。