9.2. Release procedure#

9.2.1. 必要なもの#

以下はリリース手順に必要なものです。

  • Debian GNU/Linux (sid)

  • zshをユーザーシェルとして使います

以下の作業ディレクトリを使います。

  • MROONGA_SOURCE_DIR=$HOME/work/mroonga

  • MROONGA_BUILD_DIR=$HOME/work/build-dir/mroonga

  • MROONGA_ORG_DIR=$HOME/work/mroonga.org

  • MARIADB_SOURCE_DIR=$HOME/work/mariadb

  • MARIADB_BUILD_DIR=$HOME/work/build-dir/mariadb

  • GROONGA_SOURCE_DIR=$HOME/work/groonga

  • GROONGA_BUILD_DIR=$HOME/work/build-dir/groonga

  • INSTALL_DIR=/tmp/local

9.2.2. ビルド環境をセットアップする#

以下のパッケージをインストールします:

$ sudo apt-get install -V ruby mecab libmecab-dev gnupg2 dh-autoreconf bison

9.2.3. 変更点を記述する#

前回のリリース以降の最近の変更点を doc/source/news/xx.md へまとめます。

含めるべきもの

  • ユーザーに影響のある変更点

  • 互換性を壊すような変更点

含めるべきでないもの

  • ユーザーに影響のない内部的な変更やリファクタリング

以下のコマンドを実行して、ニュース用のHTMLを作成する:

$ cmake -S ${MARIADB_SOURCE_DIR} -B ${MARIADB_BUILD_DIR} -GNinja -DCMAKE_INSTALL_PREFIX=${INSTALL_DIR} -DPLUGIN_CASSANDRA=NO
$ cmake --build ${MARIADB_BUILD_DIR}
$ cmake --install ${MARIADB_BUILD_DIR}
$ cmake -S ${GROONGA_SOURCE_DIRECTORY} -B ${GROONGA_BUILD_DIR} --preset=release-default --fresh -DCMAKE_INSTALL_PREFIX="${INSTALL_DIR}"
$ cmake --build ${GROONGA_BUILD_DIR}
$ cmake --install ${GROONGA_BUILD_DIR}
$ PKG_CONFIG_PATH=${INSTALL_DIR}/lib/pkgconfig cmake -S ${MROONGA_SOURCE_DIRECTORY} -B ${MROONGA_BUILD_DIR} --fresh --preset=doc -DCMAKE_INSTALL_PREFIX="${INSTALL_DIR}" -DMYSQL_SOURCE_DIR=~${MARIADB_SOURCE_DIR} -DMYSQL_BUILD_DIR=${MARIADB_BUILD_DIR} -DMYSQL_CONFIG=${INSTALL_DIR}/bin/mariadb_config
$ cmake --build ${MROONGA_BUILD_DIR}

9.2.4. release タスクを実行する#

rake release を実行:

$ rake release

9.2.4.1. release タスク について#

release タスクは次の3つのタスクを実行します。

  1. release:version:update

    • RPMパッケージのspecファイルに新しいバージョンのチェンジログを追記したりなどします

    • 環境変数 NEW_RELEASE_DATE でリリース日を指定することができます

  2. release:tag

    • リリース用のタグをプッシュします

    • これにより自動リリースが動き出します

  3. dev:version:bump

    • 次のリリースに向けてバージョンをあげます

    • 環境変数 NEW_VERSION でバージョンを指定することができます

9.2.5. CIを確認する#

以下のCIがグリーンかどうかを確認します。

CIで自動リリースを行っているので、失敗していたらリトライします。(何度リトライしても問題ないように設定されています。)

9.2.6. Dockerイメージを更新#

次のコマンドを実行:

$ git clone git@github.com:mroonga/docker.git mroonga-docker
$ cd mroonga-docker
$ ./update.sh
$ git push
$ git push --tags

9.2.7. ドキュメントを更新#

次のコマンドを実行:

$ export GROONGA_ORG_REPOSITORY=${HOME}/work/groonga.org
$ git clone git@github.com:groonga/groonga.org.git ${GROONGA_ORG_REPOSITORY}
$ rake -C ${MROONGA_ORG_DIR} release

9.2.8. Announce release for X(Twitter)#

Tweetリンクをクリックすると、最新のリリースについてツイートできます。タイトルやブログエントリのURLがツイートに含まれます。

ツイートは日本語と英語のブログエントリから行います。ツイートは groonga アカウントでログインした状態で行ってください。

9.2.9. リリースをFacebookで告知#

FacebookのMroongaグループからリリースを告知します。

https://www.facebook.com/mroonga/