9.2. Release procedure¶
9.2.1. 必要なもの¶
以下はリリース手順に必要なものです。
Debian GNU/Linux (sid)
zshをユーザーシェルとして使います
以下の作業ディレクトリを使います。
MROONGA_DIR=$HOME/work/mroonga
MROONGA_CLONE_DIR=$HOME/work/mroonga/mroonga.clean
MROONGA_GITHUB_COM_PATH=$HOME/work/mroonga/mroonga.github.com
CUTTER_DIR=$HOME/work/cutter
CUTTER_SOURCE_PATH=$HOME/work/cutter/cutter
GROONGA_SOURCE_PATH=$HOME/work/groonga/groonga.clean
9.2.2. ビルド環境をセットアップする¶
以下のパッケージをインストールします:
% sudo apt-get install -V ruby mecab libmecab-dev gnupg2 dh-autoreconf python-sphinx bison
We use Vagrant for building deb or rpm packages and expect that Virtualbox package is already installed. If not, please install it in the following steps:
% cat /etc/apt/sources.list
deb http://ftp.jp.debian.org/debian/ sid main contrib
deb-src http://ftp.jp.debian.org/debian/ sid main contrib
% sudo apt-get update
% sudo apt-get install virtualbox
9.2.3. バージョンをあげる¶
最新のリリースへバージョンをあげる
% make update-version NEW_VERSION_MAJOR=9 NEW_VERSION_MINOR=1 NEW_VERSION_MICRO=0
9.2.4. 変更点を記述する¶
前回のリリース以降の最近の変更点を doc/source/news.rst
へまとめます。このまとめはリリースノートでも使います。
以下のコマンドを前回のリリースからの変更点を収集するのに使います:
% git log -p --reverse $(git tag | tail -1)..
^commit
でログを検索し、主な変更点を拾います。
含めるべきもの
ユーザーに影響のある変更点
互換性を壊すような変更点
含めるべきでないもの
ユーザーに影響のない内部的な変更やリファクタリング
9.2.5. configureスクリプトの生成¶
masterブランチはconfigureスクリプトを含んでいないのでビルドするのにconfigureスクリプトを生成する必要があります。
autogen.sh
を以下のコマンドで実行します:
% sh autogen.sh
configure
スクリプトを生成します。
9.2.6. configureスクリプトの実行¶
Makefile
を生成するために、 configure
スクリプトを実行します。
リリース向けに以下のオプションとともに実行します。
% ./configure \
--enable-document \
--prefix=/tmp/local \
--with-launchpad-uploader-pgp-key=(Launchpadに登録したkeyID) \
--with-mroonga-github-com-path=$MROONGA_GITHUB_COM_PATH \
--with-cutter-source-path=$CUTTER_SOURCE_PATH \
--with-groonga-source-path=$GROONGA_SOURCE_PATH \
--with-mysql-source=(The directory of MySQL source code) \
--with-mysql-build=(The build directory of MySQL) \
--with-mysql-config=(The path to mysql_config command)
--with-mysql-source
の詳細については その他 を参照してください。
9.2.7. パッケージをアップロード可能か確認する¶
pacakgesユーザーでpackages.groonga.orgにログインできるかを確認します。
ログインできるかどうかは以下のコマンドで確認できます。
% ssh packages@packages.groonga.org
packages.groonga.orgにログインできないときは、sshの公開かぎを登録しておかないといけません。
9.2.8. make update-latest-releaseを実行する¶
make update-latest-release
を OLD_RELEASE_DATE や NEW_RELEASE_DATE とともに実行します。
9.09 のリリースの際は、以下のコマンドを実行しました。
% make update-latest-release OLD_RELEASE=9.09 OLD_RELEASE_DATE=2019-09-27 NEW_RELEASE_DATE=2019-10-30
このコマンドはMroongaのサイトのHTMLファイルやspecやdebian/changelogファイルのバージョンを更新します。
9.2.9. リリースのためのタグ打ち¶
タグを打つためにイアkのコマンドを実行します:
% make tag
% git push --tags origin
注釈
リリースのためにタグを打ったら、confiugre
スクリプトを実行します。このタグの情報はドキュメントを生成するときに反映されます。
9.2.10. アーカイブファイルのアップロード¶
次に配布用のアーカイブファイル(tar.gz
)を作成します:
% make dist
作業ディレクトリを packages/source
に変更します。
% cd packages/source
make download
を実行し、同期します。
% make download
ソースアーカイブを生成するために、 make archive
を実行します:
% make archive
アーカイブファイルをアップロードするために、make upload
を実行します:
% make upload
結果として、 tar.gz
アーカイブ・ファイルが https://packages.groonga.org/source/mroonga/から入手可能になります。
9.2.11. リリース向けにパッケージを作成する¶
LinuxとWindowsのパッケージを作成します。
9.2.11.1. Debian¶
作業ディレクトリを apt
に変更します:
% cd apt
以下のコマンドを実行します:
% make download
% make build
% make upload
パッケージをアップロードした後、署名やメタデータを更新します。詳細はGroongaのリリース手順を参照してください。
9.2.11.2. Debian系(Ubuntu)¶
Ubuntuの場合、パッケージはlaunchpad.netのPPAで提供されます。
作業ディレクトリを ubuntu
にし、make upload
コマンドを実行します:
% cd packages/ubuntu
% make upload
パッケージのアップロードに成功すると、パッケージのビルドがlaunchpad.netにて行われます。アップロードに成功するとメールで通知が届きます。ビルドが成功するとパッケージをPPA経由でインストールできます。
* https://launchpad.net/~groonga/+archive/ubuntu/ppa
9.2.11.3. Red Hat系¶
作業ディレクトリを yum
に変更します:
% cd apt
以下のコマンドを実行します:
% make download
% make build
% make upload
パッケージをアップロードした後、署名やメタデータを更新します。詳細はGroongaのリリース手順を参照してください。
9.2.11.4. Windows¶
Windows向けには、 AppVeyor CI の成果物を使っています。
9.2.12. ドキュメントをアップロード¶
mroonga.github.comリポジトリをcloneする
make update-document
を実行するMroonga.github.comの変更点をcommit&&pushする
9.2.13. リリースをメーリングリストで告知¶
リリースアナウンスをそれぞれのメーリングリストに送ります
ml@mysql.gr.jp for Japanese
groonga-dev@lists.osdn.me for Japanese
groonga-talk@lists.sourceforge.net for English
9.2.14. リリースをTwitterで告知¶
Tweetリンクをクリックすると、最新のリリースについてツイートできます。タイトルやブログエントリのURLがツイートに含まれます。
ツイートは日本語と英語のブログエントリから行います。ツイートは groonga
アカウントでログインした状態で行ってください。