Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Revert "ci macos: add workaround for msgpack-c" #2

Closed
wants to merge 29 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
fa62389
packages almalinux: add `--platform linux/arm64` when building arm64'…
otegami Jul 1, 2024
f69b682
GRN_N_HOOK_ENTRIES: move from internal code
kou Jul 1, 2024
29fafff
test table_remove/broken: reconstruct
kou Jul 1, 2024
42ce2b5
grn_ctx_remove*: add support for removing hooks for broken index
kou Jul 1, 2024
fc2173c
grn_hook_entry_to_string: add
kou Jul 1, 2024
51e6ff1
grn_obj_delete_hook: add DDL:delete_hook log
kou Jul 1, 2024
4e4c48d
remove_index: show unsupported index target's ID
kou Jul 1, 2024
7185930
remove_index: show hook entry name
kou Jul 2, 2024
1957550
Fix style
kou Jul 2, 2024
fe600b3
grn_obj_delete_hook: show remained hooks
kou Jul 2, 2024
1077c7d
test: increase timeout for stable CI
kou Jul 2, 2024
264be86
grn_obj_remove: change remove order
kou Jul 2, 2024
13abaf4
del_hook: remove all hooks that refer the target ID
kou Jul 2, 2024
5845ad4
wal recover: ensure removing hooks of broken recovering index
kou Jul 2, 2024
005cab4
grn_obj_add_hook: add DDL: log
kou Jul 2, 2024
201a437
wal recover: ensure removing dependent objects of broken objects
kou Jul 2, 2024
710e938
grn_obj_set_info_source: use more crash safe save order
kou Jul 2, 2024
1351e77
packages yum: drop support for CentOS 7 (#1809)
komainu8 Jul 3, 2024
a69fd43
Revert "grn_obj_remove: change remove order"
kou Jul 2, 2024
f4a8f9b
wal recover: introduce removing mark to ensure removing an object
kou Jul 3, 2024
bbfce68
db: add missing header for "grn_fopen()" (#1811)
komainu8 Jul 3, 2024
88e9dda
remove_columns_raw: add "." to prefix explicitly
kou Jul 3, 2024
bb4a1bd
test table_remove: add a test for 88e9dda1d5fdf5796206f9b383c63f5cbad…
kou Jul 3, 2024
d9cb3be
doc news: add missing contents (#1812)
komainu8 Jul 3, 2024
e52e5b2
Revert "ci macos: add workaround for msgpack-c"
otegami Apr 26, 2024
720ea25
skip linux
otegami Jun 13, 2024
9632de3
Use hotfixed msgpack-c
otegami Jun 13, 2024
50d9fb5
Use CMAKE_INSTALL_*DIRs
otegami Jun 21, 2024
92753bb
Try to use the new release version
otegami Jun 24, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
256 changes: 131 additions & 125 deletions .github/workflows/autotools.yml
Original file line number Diff line number Diff line change
Expand Up @@ -55,125 +55,125 @@ concurrency:
group: ${{ github.head_ref || github.sha }}-${{ github.workflow }}
cancel-in-progress: true
jobs:
linux:
name: Linux
strategy:
fail-fast: false
matrix:
include:
- cc: gcc
cxx: g++
- cc: clang
cxx: clang++
runs-on: ubuntu-latest
timeout-minutes: 45
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- name: Prepare ccache
run: |
echo "CCACHE_DIR=${PWD}/ccache" >> ${GITHUB_ENV}
- name: Cache ccache
uses: actions/cache@v4
with:
path: ccache
key: autotools-linux-${{ matrix.cc }}-ccache-${{ hashFiles('lib/**', 'src/**', 'plugins/**', 'include/**') }}
restore-keys: autotools-linux-${{ matrix.cc }}-ccache-
- name: Enable Apache Arrow repository
run: |
sudo apt update -o="APT::Acquire::Retries=3"
sudo apt install -y -V -o="APT::Acquire::Retries=3" \
lsb-release \
wget
wget https://apache.jfrog.io/artifactory/arrow/$(lsb_release --id --short | tr 'A-Z' 'a-z')/apache-arrow-apt-source-latest-$(lsb_release --codename --short).deb
sudo apt install -y -V ./apache-arrow-apt-source-latest-$(lsb_release --codename --short).deb
- name: Install packages
run: |
sudo apt update -o="APT::Acquire::Retries=3"
sudo apt install -y -V -o="APT::Acquire::Retries=3" \
autoconf-archive \
automake1.11 \
autotools-dev \
ccache \
clang \
gdb \
gettext \
libarrow-dev \
libevent-dev \
libluajit-5.1-dev \
liblz4-dev \
libmecab-dev \
libmsgpack-dev \
libstemmer-dev \
libxxhash-dev \
libzstd-dev \
mecab-naist-jdic \
rapidjson-dev \
ruby-dev \
zlib1g-dev
echo "/usr/lib/ccache" >> $GITHUB_PATH
- name: Install Cutter
run: |
curl \
--silent \
--location \
https://raw.github.com/clear-code/cutter/master/data/travis/setup.sh | sh
- name: Generate configure
run: |
./autogen.sh
- name: Configure
run: |
ccache --show-stats --verbose --version || :
./configure \
CC=${{ matrix.cc }} \
CXX=${{ matrix.cxx }} \
--enable-debug \
--enable-mruby \
--prefix=$PWD/install \
--with-ruby
- name: Build
run: |
make -j$(nproc)
ccache --show-stats --verbose --version || :
- name: Install
run: |
make install
- name: Install test dependencies
run: |
sudo env MAKEFLAGS=-j$(nproc) gem install \
grntest \
pkg-config \
rroonga
- name: Set environment variables
run: |
echo "COLUMNS=79" >> ${GITHUB_ENV}
echo "LD_LIBRARY_PATH=$PWD/install/lib" >> ${GITHUB_ENV}
echo "TZ=Asia/Tokyo" >> ${GITHUB_ENV}
# linux:
# name: Linux
# strategy:
# fail-fast: false
# matrix:
# include:
# - cc: gcc
# cxx: g++
# - cc: clang
# cxx: clang++
# runs-on: ubuntu-latest
# timeout-minutes: 45
# steps:
# - uses: actions/checkout@v4
# with:
# submodules: recursive
# - name: Prepare ccache
# run: |
# echo "CCACHE_DIR=${PWD}/ccache" >> ${GITHUB_ENV}
# - name: Cache ccache
# uses: actions/cache@v4
# with:
# path: ccache
# key: autotools-linux-${{ matrix.cc }}-ccache-${{ hashFiles('lib/**', 'src/**', 'plugins/**', 'include/**') }}
# restore-keys: autotools-linux-${{ matrix.cc }}-ccache-
# - name: Enable Apache Arrow repository
# run: |
# sudo apt update -o="APT::Acquire::Retries=3"
# sudo apt install -y -V -o="APT::Acquire::Retries=3" \
# lsb-release \
# wget
# wget https://apache.jfrog.io/artifactory/arrow/$(lsb_release --id --short | tr 'A-Z' 'a-z')/apache-arrow-apt-source-latest-$(lsb_release --codename --short).deb
# sudo apt install -y -V ./apache-arrow-apt-source-latest-$(lsb_release --codename --short).deb
# - name: Install packages
# run: |
# sudo apt update -o="APT::Acquire::Retries=3"
# sudo apt install -y -V -o="APT::Acquire::Retries=3" \
# autoconf-archive \
# automake1.11 \
# autotools-dev \
# ccache \
# clang \
# gdb \
# gettext \
# libarrow-dev \
# libevent-dev \
# libluajit-5.1-dev \
# liblz4-dev \
# libmecab-dev \
# libmsgpack-dev \
# libstemmer-dev \
# libxxhash-dev \
# libzstd-dev \
# mecab-naist-jdic \
# rapidjson-dev \
# ruby-dev \
# zlib1g-dev
# echo "/usr/lib/ccache" >> $GITHUB_PATH
# - name: Install Cutter
# run: |
# curl \
# --silent \
# --location \
# https://raw.github.com/clear-code/cutter/master/data/travis/setup.sh | sh
# - name: Generate configure
# run: |
# ./autogen.sh
# - name: Configure
# run: |
# ccache --show-stats --verbose --version || :
# ./configure \
# CC=${{ matrix.cc }} \
# CXX=${{ matrix.cxx }} \
# --enable-debug \
# --enable-mruby \
# --prefix=$PWD/install \
# --with-ruby
# - name: Build
# run: |
# make -j$(nproc)
# ccache --show-stats --verbose --version || :
# - name: Install
# run: |
# make install
# - name: Install test dependencies
# run: |
# sudo env MAKEFLAGS=-j$(nproc) gem install \
# grntest \
# pkg-config \
# rroonga
# - name: Set environment variables
# run: |
# echo "COLUMNS=79" >> ${GITHUB_ENV}
# echo "LD_LIBRARY_PATH=$PWD/install/lib" >> ${GITHUB_ENV}
# echo "TZ=Asia/Tokyo" >> ${GITHUB_ENV}

echo "$PWD/install/bin" >> ${GITHUB_PATH}
- name: "Test: API"
run: |
bash -x test/unit/run-test.sh
- name: "Test: mruby"
run: |
USE_SYSTEM=yes test/mruby/run-test.rb
- uses: actions/cache@v4
with:
path: |
~/.cache/red-datasets
key: red-datasets-ubuntu
- name: "Test: command line"
run: |
test/command_line/run-test.rb --groonga-install-prefix=$PWD/install
- name: "Test: stdio"
run: |
grntest \
--base-dir test/command \
--n-retries=2 \
--read-timeout=30 \
--reporter=mark \
test/command/suite
# echo "$PWD/install/bin" >> ${GITHUB_PATH}
# - name: "Test: API"
# run: |
# bash -x test/unit/run-test.sh
# - name: "Test: mruby"
# run: |
# USE_SYSTEM=yes test/mruby/run-test.rb
# - uses: actions/cache@v4
# with:
# path: |
# ~/.cache/red-datasets
# key: red-datasets-ubuntu
# - name: "Test: command line"
# run: |
# test/command_line/run-test.rb --groonga-install-prefix=$PWD/install
# - name: "Test: stdio"
# run: |
# grntest \
# --base-dir test/command \
# --n-retries=2 \
# --read-timeout=30 \
# --reporter=mark \
# test/command/suite

macos:
name: macOS
Expand All @@ -186,6 +186,19 @@ jobs:
- name: Install packages
run: |
brew bundle
- uses: actions/checkout@v4
with:
path: msgpack-c
ref: c-6.0.2
repository: msgpack/msgpack-c
- name: Build msgpack-c
run: |
cd msgpack-c
cmake -S . -B ../msgpack-c.build -DCMAKE_INSTALL_PREFIX=/usr/local \
-DCMAKE_INSTALL_LIBDIR=lib \
-DCMAKE_INSTALL_INCLUDEDIR=include
cmake --build ../msgpack-c.build
sudo cmake --install ../msgpack-c.build
- name: Prepare ccache
run: |
echo "CCACHE_DIR=${PWD}/ccache" >> ${GITHUB_ENV}
Expand All @@ -196,13 +209,6 @@ jobs:
path: ccache
key: autotools-macos-ccache-${{ hashFiles('lib/**', 'src/**', 'plugins/**', 'include/**') }}
restore-keys: autotools-macos-ccache-
- name: Adjust msgpack-c.pc
run: |
sed \
-i.bak \
-E \
-e 's,^(include|lib)dir=,\1dir=${prefix}/,g' \
$(brew --prefix msgpack)/lib/pkgconfig/msgpack-c.pc
- name: Generate configure
run: |
./autogen.sh
Expand Down
15 changes: 9 additions & 6 deletions .github/workflows/package.yml
Original file line number Diff line number Diff line change
Expand Up @@ -185,7 +185,6 @@ jobs:
- Debian GNU/Linux bookworm arm64
- Debian GNU/Linux trixie amd64
- Debian GNU/Linux trixie arm64
- CentOS 7 x86_64
- AlmaLinux 8 x86_64
- AlmaLinux 8 aarch64
- AlmaLinux 9 x86_64
Expand Down Expand Up @@ -221,11 +220,6 @@ jobs:
task-namespace: apt
target: debian-trixie-arm64
test-docker-image: arm64v8/debian:trixie
- label: CentOS 7 x86_64
id: centos-7-x86_64
task-namespace: yum
target: centos-7
test-docker-image: centos:7
- label: AlmaLinux 8 x86_64
id: almalinux-8-x86_64
task-namespace: yum
Expand Down Expand Up @@ -327,7 +321,16 @@ jobs:
# Test
- name: Test
run: |
case "${{ matrix.test-docker-image }}" in
arm64v8/*)
platform=linux/arm64
;;
*)
platform=linux/amd64
;;
esac
docker run \
--platform ${platform} \
--rm \
--volume ${PWD}:/groonga:ro \
${{ matrix.test-docker-image }} \
Expand Down
2 changes: 1 addition & 1 deletion Brewfile
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ brew "libevent"
brew "libtool"
brew "mecab"
brew "mecab-ipadic"
brew "msgpack"
# brew "msgpack"
brew "ninja"
brew "openssl"
brew "pcre"
Expand Down
25 changes: 20 additions & 5 deletions doc/locale/ja/LC_MESSAGES/news/14.po
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,26 @@ msgstr ""
msgid "News - 14 series"
msgstr "お知らせ - 14系"

msgid "Release 14.0.5 - 2024-06-29"
msgstr "14.0.5リリース - 2024-06-29"
msgid "Release 14.0.5 - 2024-07-04"
msgstr "14.0.5リリース - 2024-07-04"

msgid "Improvements"
msgstr "改良"

msgid "Dropped support for CentOS 7."
msgstr "CentOS 7のサポートをやめました。"

msgid "Because CentOS 7 reached EOL."
msgstr "CentOS 7はEOLになったためです。"

msgid "Added a new feature that objects(table or column) as remove as possible."
msgstr "可能な限りオブジェクト(テーブルやカラム)を削除する機能を追加しました。"

msgid "The crash safe feature of PGroonga will use this feature mainly."
msgstr "この機能は主にPGroongaのクラッシュセーフ機能で使います。"

msgid "PGroonga will apply PGroonga's WAL to standby database automatically by using [`Custom WAL Resource Managers`](https://www.postgresql.org/docs/current/custom-rmgr.html). However, when PGroonga use `Custom WAL Resource Managers`, all replications are stop if PGroonga fail application of PGroonga's WAL due to break Groonga's object. So, if broken objects exist in database, Groonga will try as remove as possible objects by using this feature."
msgstr "PGroongaは[`Custom WAL Resource Managers`](https://www.postgresql.jp/document/16/html/custom-rmgr.html)を使うことで、PGroongaのWALをスタンバイへ自動で適用できるようになります。ただ、`Custom WAL Resource Managers`を使用していると、オブジェクトの破損などでPGroongaのWALの適用に失敗した場合にすべてのレプリケーションが停止します。そのため、壊れたオブジェクトがデータベース内に存在する場合、Groongaはこの機能を使って、できる限り壊れたオブジェクトを削除しようとします。"

msgid "Fixes"
msgstr "修正"
Expand Down Expand Up @@ -83,9 +101,6 @@ msgstr "以下の例では、Groongaが`[1, \"Linux MySQL\"]` と `[2, \"MySQL G
msgid "Release 14.0.3 - 2024-05-09"
msgstr "14.0.3リリース - 2024-05-09"

msgid "Improvements"
msgstr "改良"

msgid "We optimized performance as below."
msgstr "以下の最適化を行いました。"

Expand Down
16 changes: 15 additions & 1 deletion doc/source/news/14.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,21 @@
# News - 14 series

(release-14-0-5)=
## Release 14.0.5 - 2024-06-29
## Release 14.0.5 - 2024-07-04

### Improvements

* Dropped support for CentOS 7.

Because CentOS 7 reached EOL.

* Added a new feature that objects(table or column) as remove as possible.

The crash safe feature of PGroonga will use this feature mainly.

PGroonga will apply PGroonga's WAL to standby database automatically by using [`Custom WAL Resource Managers`](https://www.postgresql.org/docs/current/custom-rmgr.html).
However, when PGroonga use `Custom WAL Resource Managers`, all replications are stop if PGroonga fail application of PGroonga's WAL due to break Groonga's object.
So, if broken objects exist in database, Groonga will try as remove as possible objects by using this feature.

### Fixes

Expand Down
5 changes: 5 additions & 0 deletions include/groonga/groonga.h
Original file line number Diff line number Diff line change
Expand Up @@ -1046,6 +1046,11 @@ typedef enum {
GRN_HOOK_SELECT
} grn_hook_entry;

#define GRN_N_HOOK_ENTRIES 5 /* (GRN_HOOK_SELECT + 1) */

GRN_API const char *
grn_hook_entry_to_string(grn_hook_entry entry);

GRN_API grn_rc
grn_obj_add_hook(grn_ctx *ctx,
grn_obj *obj,
Expand Down
Loading
Loading