Skip to content

Latest commit

 

History

History
289 lines (172 loc) · 7.26 KB

release.md

File metadata and controls

289 lines (172 loc) · 7.26 KB
title
Release

Release

Requirements

Environment variables

Use the following environment variables.

  • 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 [email protected]: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.

  • GITHUB_ACCESS_TOKEN

    Specify a GitHub access token.

    GitHub Managing your personal access tokens

  • APACHE_ARROW_REPOSITORY

    Specify a path for a latest Apache Arrow repository.

    e.g.

    $ export APACHE_ARROW_REPOSITORY=$HOME/work/apache/arrow

Commands

Some commands are required for the release, so install them.

$ ./setup-release.sh

Update change log for deb and RPM packages

$ rake package:version:update
$ git push

Check whether we can make packages or not

We confirm below CIs green or not.

Tagging for the release

$ rake tag

Upload an archive file

$ rake package:source

Create packages for the release

deb

$ rake package:apt

Ubuntu

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.

RPM

$ rake package:yum

Windows

For Windows packages, we don't need to execute anything.

Windows packages are uploaded automatically by actions of GitHub Actions.

Bump version

We will bump up the version for the next release.

$ rake version:update NEW_VERSION=x.x.x
$ git push

Describe the changes

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 latest version.
  • pgroonga_release_date:

    • Relase data for the latest version.
  • postgresql_doc_base_url:

    • Update if PostgreSQL version changes.
  • windows_postgresql_versions:

    • Update if PostgreSQL version for Windows changes.
  • latest_postgresql_version:

    • PostgreSQL latest major version.
  • freebsd_postgresql_version:

    • PostgreSQL for FreeBSD latest version.
  • development_postgresql_version:

    • PostgreSQL latest version (include minor version).

Update the repository

We update the repository in the following steps.

Clone the packages.groonga.org repository:

$ git clone [email protected]:groonga/packages.groonga.org.git

Update repositories for deb and RPM:

$ cd packages.groonga.org
$ rake apt
$ rake yum

Update Docker images

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 [email protected]: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

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.

Announce release

Announce release for mailing list

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.

Announce release for blog

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.

Announce release for Facebook

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.

Announce release for twitter

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.