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つのタスクを実行します。
release:version:update
RPMパッケージのspecファイルに新しいバージョンのチェンジログを追記したりなどします
環境変数
NEW_RELEASE_DATE
でリリース日を指定することができます
release:tag
リリース用のタグをプッシュします
これにより自動リリースが動き出します
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グループからリリースを告知します。