9.2. Release procedure — Mroonga vmrn_version documentation

本文へスキップ
`Ctrl`+`K`

# 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がグリーンかどうかを確認します。

- GitHub Actions

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/