Use the following enviroment values.
GROONGA_REPOSITORY
Specify a path for a latest Groonga repository.
It is better to clone the Groonga repository for each releases.
Here is an example to specify $HOME/work/groonga/groonga.clean
to 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
Specify a key for PPA of Groonga.
Please refer to the Groonga release document about PPA.
$ rake version:update NEW_VERSION=x.x.x
$ rake package:version:update
We confirm below CIs green or not.
nightly
repository of launchpad.netFor Ubuntu, packages are provided by PPA on launchpad.net.
We have nightly and ppa repositories on launchpad.net.
nightly
is for testing, and ppa
is for distributing.
We should test whether we can build packages for Ubuntu on the nightly
repository before tagging.
Create archive file and upload to the nightly
repository
$ rake dist
$ rake package:ubuntu DPUT_CONFIGURATION_NAME=groonga-ppa-nightly DPUT_INCOMING="~groonga/ubuntu/nightly" LAUNCHPAD_UPLOADER_PGP_KEY=xxxxxxx
Check the build result
When uploading packages into the nightly
repository is succeeded,
a package build process is executed on launchpad.net.
Then the build result is notified via E-mail if the build fails.
$ rake tag
Donwload the archive file (pgroonga-x.x.x.tar.gz
) from the
GitHub Releases page
and move it to a working directory of your local PGroonga repository.
$ rake package:source
$ rake package:apt
For Ubuntu, packages are provided by PPA on launchpad.net.
Upload to the ppa
repository
$ rake package:ubuntu LAUNCHPAD_UPLOADER_PGP_KEY=xxxxxxx
Check the build result
When upload packages succeeded, a package build process is executed on launchpad.net. Then the build result is notified via E-mail if the build fails. We can install packages via Groonga PPA on launchpad.net.
$ rake package:yum
For Windows packages, we don't need to execute anything.
Windows packages are uploaded automatically by actions of GitHub Actions.
We need to update https://github.com/pgroonga/pgroonga.github.io/ to announce the new release.
We describe to news/index.md
summarize changes from before version.
We also update below items in _config.yml
.
pgroonga_version
:
pgroonga_release_date
:
postgresql_doc_base_url
:
windows_postgresql_versions
:
latest_postgresql_version
:
freebsd_postgresql_version
:
amazon_linux_postgresql_version
:
development_postgresql_version
:
We update the repository in the following steps.
Clone the packages.groonga.org repository:
$ git clone git@github.com:groonga/packages.groonga.org.git
Update repositories for Debian GNU/Linux and CentOS:
$ cd packages.groonga.org
$ rake apt
$ rake yum
We update PGroonga's Docker images of Docker Hub.
Clone PGroonga's Docker repository and update Dockerfiles in tha repository.
Here is an example for the case that the PGroonga version is 2.4.1
, and the Groonga version is 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 --tags
You have to specify the latest versions.
After you check GitHub Actions of the PGroonga's Docker repository are succeeded, push tag to remote.
$ git push --tags
GitHub Actions of the PGroonga's Docker repository automatically update the PGroonga's docker images of Docker Hub after you push the tag.
We send release announcement to PostgreSQL mailing list if we have big news.
Your PostgreSQL account must belong to PGroonga project
for announcement.
Please contact a project member in order to join PGroonga project
.
We make release announcement in GitHub Discussions.
We make release announce in blogs that are published https://groonga.org/blog/ and https://groonga.org/ja/blog/ .
We update blogs in the following steps.
Clone blog source repository.
Make below files in blog source repository.
groonga.org/en/_post/(release-date)-pgroonga-(pgroonga-version).md
groonga.org/ja/_post/(release-date)-pgroonga-(pgroonga-version).md
We can confirm blogs by the following steps.
Install required libraries:
$ bundle update
Start Web server:
$ jekyll serve --watch
We access http://localhost:4000 on our browser.
We have Groonga group in Facebbok. If you into Groonga group as a member, you can post as a member of Groonga group.
We post announce based on the blog and news.
Click Tweet link in PGroonga blog entry. We can share tweet about latest release. If we use tweet link, title of release announce and URL is embedded into our tweet.
Execute sharing tweet in Japanese and English version of blog entry. Note that this tweet should be done when logged in by groonga account.