以下の環境変数を使います。
GROONGA_REPOSITORY
最新のGroongaのリポジトリーへのパスを指定します。
リリースごとにGroongaのリポジトリーをcloneすることを推奨します。
以下は、 $HOME/work/groonga/groonga.clean
を GROONGA_REPOSITORY
に指定する例です。
$ mkdir -p ~/work/groonga
$ rm -rf ~/work/groonga/groonga.clean
$ git clone --recursive git@github.com:groonga/groonga.git ~/work/groonga/groonga.clean
$ export GROONGA_REPOSITORY=$HOME/work/groonga/groonga.clean
LAUNCHPAD_UPLOADER_PGP_KEY
GroongaのPPAのキーを指定します。
Groongaのリリースドキュメントの PPA用の鍵の登録 セクションを参照してください。
GITHUB_ACCESS_TOKEN
GitHubのアクセストークンを指定します。
APACHE_ARROW_REPOSITORY
最新のApache Arrowのリポジトリーへのパスを指定します。
設定例
$ export APACHE_ARROW_REPOSITORY=$HOME/work/apache/arrow
リリースに必要なコマンドがあるのでインストールします。
$ ./setup-release.sh
$ rake release NEW_RELEASE_DATE=$(date +%Y-%m-%d)
NEW_RELEASE_DATE
はリリース日です。
release
タスクについてrelease
タスクは次の3つのタスクを実行します。
package:version:update
tag
リリース用のタグをプッシュします
これにより自動リリースが動き出します
version:update
以下のCIがグリーンかどうかを確認します。
CIで自動リリースを行っているので、失敗していたらリトライします。(何度リトライしても問題ないように設定されています。)
Ubuntuの場合、パッケージはlaunchpad.netのPPAで提供されます。
ppa
リポジトリーにアップロード
$ rake package:ubuntu LAUNCHPAD_UPLOADER_PGP_KEY=xxxxxxx
ビルド結果の確認
パッケージのアップロードに成功すると、パッケージのビルドがlaunchpad.netにて行われます。アップロード後、ビルドに失敗するとメールで通知されます。ビルドが成功するとパッケージをGroonga PPA経由でインストールできます。
新しいリリースをアナウンスするために https://github.com/pgroonga/pgroonga.github.io/ を更新する必要があります。
news/index.md
に前回のバージョンからの変更をまとめます。
_config.yml
の以下の項目も更新します。
pgroonga_version
:
PGroongaの最新バージョン
pgroonga_release_date
:
最新版のリリース日
postgresql_doc_base_url
:
PostgreSQLのバージョンが変わったら更新
windows_postgresql_versions
:
Windows版のPostgreSQLのバージョンが変わったら更新
latest_postgresql_version
:
PostgreSQLの最新のメジャーバージョン
freebsd_postgresql_version
:
FreeBSD版のPostgreSQLの最新バージョン
development_postgresql_version
:
マイナーバージョンを含むPostgreSQLの最新バージョン
Docker HubのPGroongaのDockerイメージを更新します。
PGroongaのDockerリポジトリーをクローンし、リポジトリーの中のDockerfileを更新します。
以下は、PGroongaのバージョンが 2.4.1
、Groongaのバージョンが 12.0.9
の場合の例です。
$ mkdir -p ~/work/pgroonga
$ rm -rf ~/work/pgroonga/docker.clean
$ git clone --recursive git@github.com:pgroonga/docker.git ~/work/pgroonga/docker.clean
$ cd ~/work/pgroonga/docker.clean
$ ./update.sh 2.4.1 12.0.9 #Automatically update Dockerfiles and commit changes and create a tag.
$ git push
作業時には最新のバージョンを指定してください。
PGroongaのDockerリポジトリーのGithub Actionsが成功しているのを確認したら、タグをpushします。
$ git push --tags
タグをpushすると、PGroongaのDockerリポジトリーのGithub ActionsがDocker HubのPGroongaのDockerイメージを自動で更新します。
大きなニュースがある場合、PostgreSQLのメーリングリストにアナウンスします。
アナウンスするにはPostgreSQLのアカウントが PGroonga project
に所属している必要があります。
PGroonga project
への入り方は、プロジェクトメンバーに確認してください。
https://groonga.org/blog/ と https://groonga.org/ja/blog/ に公開されているブログにリリースアナウンスを記載します。
以下の手順でブログを更新します。
ブログのソースリポジトリーをクローン。
ブログのソースリポジトリー内に以下のファイルを作成。
groonga.org/en/_post/(release-date)-pgroonga-(pgroonga-version).md
groonga.org/ja/_post/(release-date)-pgroonga-(pgroonga-version).md
以下の手順でブログを確認できます。
必要なライブラリーをインストールします。
$ bundle update
Webサーバーを起動します。
$ jekyll serve --watch
http://localhost:4000 にWebブラウザーでアクセスします。
Facebookに Groongaグループ があります。Groongaグループのメンバーになると、個人のアカウントではなく、Groongaグループのメンバーとして投稿できます。
ブログやニュースを元にアナウンスを投稿します。
PGroongaのブログエントリには「リンクをあなたのフォロワーに共有する」ためのツイートボタンがあるので、そのボタンを使ってリリースアナウンスします。(画面下部に配置されている)このボタンを経由する場合、ツイート内容に自動的にリリースタイトルとリリースエントリのURLが挿入されます。
この作業はblogroongaの英語版、日本語版それぞれで行います。 あらかじめgroongaアカウントでログインしておくとアナウンスを円滑に行うことができます。