Skip to content

Commit 20bcf36

Browse files
author
reindexer-bot
committed
[fix] Fix build after merge
1 parent f814227 commit 20bcf36

1,547 files changed

Lines changed: 230011 additions & 71444 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.clang-format

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -154,6 +154,9 @@ LambdaBodyIndentation: Signature
154154
LineEnding: DeriveLF
155155
MacroBlockBegin: ''
156156
MacroBlockEnd: ''
157+
Macros:
158+
- RX_GET_WITHOUT_MUTEX_ANALYSIS=[]()
159+
- RX_MUTEX_ACCESS=private
157160
MaxEmptyLinesToKeep: 1
158161
NamespaceIndentation: None
159162
ObjCBinPackProtocolList: Auto
@@ -234,6 +237,7 @@ StatementMacros:
234237
- Q_UNUSED
235238
- QT_REQUIRE_VERSION
236239
TabWidth: 4
240+
TypenameMacros: []
237241
UseTab: Always
238242
VerilogBreakBetweenInstancePorts: true
239243
WhitespaceSensitiveMacros:

.github/workflows/install_gbench.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
#!/usr/bin/env bash
22

3-
git clone --branch v1.6.2 https://github.com/google/benchmark.git
4-
git clone --branch release-1.12.1 https://github.com/google/googletest.git benchmark/googletest
3+
git clone --branch v1.9.5 https://github.com/google/benchmark.git
4+
git clone --branch v1.17.0 https://github.com/google/googletest.git benchmark/googletest
55
cd benchmark
66
cmake -E make_directory "build"
77
cmake -E chdir "build" cmake -DCMAKE_BUILD_TYPE=Release -DBENCHMARK_ENABLE_TESTING=OFF ../

.github/workflows/install_grpc.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ cd grpc
55
git submodule update --init
66
mkdir -p cmake/build
77
cd cmake/build
8-
cmake -DCMAKE_BUILD_TYPE=Release DgRPC_INSTALL=ON ../..
8+
cmake -DCMAKE_BUILD_TYPE=Release -DgRPC_INSTALL=ON -DgRPC_BUILD_TESTS=OFF ../..
99
make -j4
1010
sudo make install
1111
sudo ldconfig

.github/workflows/install_gtest.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#!/usr/bin/env bash
22

3-
git clone --branch release-1.12.1 https://github.com/google/googletest.git
3+
git clone --branch v1.17.0 https://github.com/google/googletest.git
44
cd googletest
55
mkdir build
66
cd build

.github/workflows/test.yml

Lines changed: 44 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -6,39 +6,27 @@ jobs:
66
runs-on: windows-latest
77
strategy:
88
matrix:
9-
compiler: ["Visual Studio 17 2022"]
9+
compiler: ['Visual Studio 17 2022', 'MinGW Makefiles']
1010
fail-fast: false
11+
env:
12+
EXTRA_FLAGS:
13+
"${{ matrix.compiler == 'Visual Studio 17 2022' && '-Ax64' || '' }}"
1114
steps:
1215
- name: Checkout repository
13-
uses: actions/checkout@v4
14-
- name: Build Reindexer
16+
uses: actions/checkout@v6
17+
- name: Install NSIS
18+
shell: pwsh
1519
run: |
16-
mkdir build && cd build
17-
cmake -G "${{matrix.compiler}}" .. -Ax64
18-
cmake --build . --config Release
19-
cmake --build . --config Release --target face
20-
cmake --build . --config Release --target swagger
21-
cpack
22-
- name: Upload Artifacts
23-
uses: actions/upload-artifact@v4
24-
with:
25-
name: windows-latest
26-
path: build/*.exe
27-
if-no-files-found: error
28-
29-
build-windows-2019:
30-
runs-on: windows-2019
31-
strategy:
32-
matrix:
33-
compiler: ["Visual Studio 16 2019", "MinGW Makefiles"]
34-
fail-fast: false
35-
steps:
36-
- name: Checkout repository
37-
uses: actions/checkout@v4
20+
$ErrorActionPreference = "Stop"
21+
choco install nsis.portable --version=3.11.0 --yes --no-progress
22+
if ($LASTEXITCODE -ne 0) {
23+
throw "Chocolatey failed to install nsis.portable"
24+
}
25+
makensis /VERSION
3826
- name: Build Reindexer
3927
run: |
4028
mkdir build && cd build
41-
cmake -G "${{matrix.compiler}}" ..
29+
cmake -G "${{matrix.compiler}}" -DBUILD_ANN_INDEXES=builtin .. $EXTRA_FLAGS
4230
cmake --build . --config Release
4331
cmake --build . --config Release --target face
4432
cmake --build . --config Release --target swagger
@@ -47,14 +35,12 @@ jobs:
4735
build:
4836
strategy:
4937
matrix:
50-
os: [ubuntu-22.04, ubuntu-24.04, macos-13]
38+
os: [ubuntu-22.04, ubuntu-24.04, macos-15]
5139
include:
5240
- os: ubuntu-latest
5341
sanitizer: ASAN
5442
- os: ubuntu-latest
5543
sanitizer: TSAN
56-
cc: gcc-12
57-
cxx: g++-12
5844
fail-fast: false
5945
runs-on: ${{matrix.os}}
6046
env:
@@ -64,7 +50,7 @@ jobs:
6450
SANITIZER: ${{matrix.sanitizer}}
6551
steps:
6652
- name: Checkout repository
67-
uses: actions/checkout@v4
53+
uses: actions/checkout@v6
6854
- name: Prepare Environment
6955
run: |
7056
./.github/workflows/install_gtest.sh
@@ -82,7 +68,7 @@ jobs:
8268
mkdir build && cd build
8369
if [[ $OS == ubuntu-latest ]]; then
8470
if [[ $SANITIZER == 'ASAN' ]]; then
85-
cmake -DENABLE_GRPC=ON -DWITH_${{matrix.sanitizer}}=On -DGTEST_SKIP_SHARDING=On ..
71+
cmake -DENABLE_GRPC=ON -DWITH_${{matrix.sanitizer}}=On -DGTEST_SKIP_ASAN_MEMORY_HEAVY=On ..
8672
else
8773
cmake -DENABLE_GRPC=ON -DWITH_${{matrix.sanitizer}}=On ..
8874
fi
@@ -94,7 +80,7 @@ jobs:
9480
make -j4
9581
STRIP=/bin/true cpack
9682
- name: 'C++ tests'
97-
if: ${{ matrix.os == 'macos-13' }}
83+
if: ${{ matrix.os == 'macos-15' }}
9884
run: |
9985
echo "Running C++ directly in this job due to Action's problem with artifacts transition for macos-11 and macos-12 runners"
10086
cd build
@@ -105,7 +91,7 @@ jobs:
10591
rm -rf ./build/_CPack_Packages ./build/cpp_src/server/reindexer_server_resources
10692
tar -cvf artifacts.tar build/ bindings/builtin/builtin_posix.go bindings/builtinserver/builtinserver_posix.go dependencies.sh
10793
- name: Archive Artifacts
108-
uses: actions/upload-artifact@v4
94+
uses: actions/upload-artifact@v7
10995
with:
11096
name: ${{matrix.os}}${{matrix.sanitizer}}
11197
path: artifacts.tar
@@ -114,7 +100,7 @@ jobs:
114100
test:
115101
strategy:
116102
matrix:
117-
os: [ubuntu-22.04, ubuntu-24.04, macos-13]
103+
os: [ubuntu-22.04, ubuntu-24.04, macos-15]
118104
test: ['C++', 'GO']
119105
include:
120106
- os: ubuntu-latest
@@ -123,14 +109,12 @@ jobs:
123109
- os: ubuntu-latest
124110
sanitizer: ASAN
125111
test: 'GO'
126-
# - os: ubuntu-latest
127-
# sanitizer: TSAN
128-
# cc: gcc-12
129-
# cxx: g++-12
130-
# test: 'C++'
112+
# os: ubuntu-latest
113+
# test: 'C++'
131114
- os: ubuntu-latest
132115
sanitizer: TSAN
133116
test: 'GO'
117+
134118
fail-fast: false
135119
runs-on: ${{matrix.os}}
136120
needs: build
@@ -142,24 +126,24 @@ jobs:
142126
SANITIZER: ${{matrix.sanitizer}}
143127
steps:
144128
- name: Checkout repository
145-
if: ${{ matrix.os != 'macos-13' || matrix.test == 'GO' }}
146-
uses: actions/checkout@v4
129+
if: ${{ matrix.os != 'macos-15' || matrix.test == 'GO' }}
130+
uses: actions/checkout@v6
147131
- name: Install Go
148-
uses: actions/setup-go@v5
149-
if: ${{ matrix.os == 'macos-13' && matrix.test == 'GO' }}
132+
uses: actions/setup-go@v6
133+
if: ${{ matrix.os == 'macos-15' && matrix.test == 'GO' }}
150134
with:
151-
go-version: '1.22.x'
135+
go-version: '1.26.x'
152136
check-latest: true
153137
- name: Download ${{matrix.os}}${{matrix.sanitizer}} Artifacts
154-
if: ${{ matrix.os != 'macos-13' || matrix.test == 'GO' }}
155-
uses: actions/download-artifact@v4
138+
if: ${{ matrix.os != 'macos-15' || matrix.test == 'GO' }}
139+
uses: actions/download-artifact@v8
156140
with:
157141
name: ${{matrix.os}}${{matrix.sanitizer}}
158142
- name: 'Untar Artifacts'
159-
if: ${{ matrix.os != 'macos-13' || matrix.test == 'GO' }}
143+
if: ${{ matrix.os != 'macos-15' || matrix.test == 'GO' }}
160144
run: tar -xvf artifacts.tar
161145
- name: Prepare Environment
162-
if: ${{ matrix.os != 'macos-13' || matrix.test == 'GO' }}
146+
if: ${{ matrix.os != 'macos-15' || matrix.test == 'GO' }}
163147
env:
164148
OS: ${{matrix.os}}
165149
run: |
@@ -174,7 +158,7 @@ jobs:
174158
./.github/workflows/install_gtest_parallel.sh
175159
fi
176160
- name: Tests
177-
if: ${{ matrix.os != 'macos-13' || matrix.test == 'GO' }}
161+
if: ${{ matrix.os != 'macos-15' || matrix.test == 'GO' }}
178162
run: |
179163
if [[ $TEST == 'GO' ]]; then
180164
if [[ $SANITIZER == 'ASAN' ]]; then
@@ -183,7 +167,12 @@ jobs:
183167
if [[ -z "$SANITIZER" ]]; then
184168
go test -timeout 15m ./test/... -bench . -benchmem -benchtime 100ms -seedcount 50000
185169
else
186-
go test -timeout 35m ./test/... -bench . -benchmem -benchtime 100ms -seedcount 50000
170+
export TSAN_OPTIONS="halt_on_error=1 suppressions=$PWD/test/tsan/builtin.tsan.suppressions"
171+
mkdir gotests
172+
# Using preocompiled tests to get readable Thread sanitizer backtraces from builtin C++ library
173+
go test ./test/... -c -o gotests -tags tiny_vectors
174+
./gotests/test.test -test.timeout 35m -test.bench . -test.benchmem -test.benchtime 100ms -seedcount 50000
175+
./gotests/ft.test -test.bench . -test.benchmem -test.benchtime 100ms -seedcount 50000
187176
fi
188177
else
189178
cd build
@@ -202,7 +191,7 @@ jobs:
202191
OS: ${{matrix.os}}
203192
steps:
204193
- name: Download ${{matrix.os}} Artifacts
205-
uses: actions/download-artifact@v4
194+
uses: actions/download-artifact@v8
206195
with:
207196
name: ${{matrix.os}}
208197
- name: 'Untar Artifacts'
@@ -219,9 +208,9 @@ jobs:
219208
run: |
220209
cd build
221210
if [[ $OS == ubuntu* ]]; then
222-
sudo dpkg -i reindexer-4-dev*.deb
211+
sudo dpkg -i reindexer-dev*.deb
223212
sudo apt-get install -f
224-
sudo dpkg -i reindexer-4-server*.deb
213+
sudo dpkg -i reindexer-server*.deb
225214
sudo apt-get install -f
226215
else
227216
for f in reindexer-*.tar.gz; do tar -xvzf "$f"; done
@@ -236,15 +225,15 @@ jobs:
236225
cp ./usr/local/etc/reindexer.conf.pkg /usr/local/etc/reindexer.conf.pkg
237226
fi
238227
- name: Clone PyReindexer
239-
uses: actions/checkout@v4
228+
uses: actions/checkout@v6
240229
with:
241230
repository: restream/reindexer-py
242231
- name: Install PyReindexer
243232
run: |
233+
python -m pip install -r requirements.txt
244234
python -m build
245235
python -m pip install .
246236
- name: Test PyReindexer
247237
run: |
248238
cd pyreindexer
249239
../.github/workflows/test.sh
250-

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
.idea/
22
.vscode/ipch
3+
.cursor/
34
reindexer.cbp
45
reindexer.iml
56
.DS_Store
@@ -19,8 +20,8 @@ __pycache__
1920
*.so
2021
.pytest_cache/
2122
qa_tests/logs/
22-
qa_tests/logs/
2323
qa_tests/venv/
24+
qa_tests/.venv/
2425

2526
#ignore directory with compile commands
2627
.cache

CMakeLists.txt

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,23 @@
1-
cmake_minimum_required(VERSION 3.10..3.13)
1+
cmake_minimum_required(VERSION 3.18)
22

33
project(reindexer)
44

55
enable_testing()
66
set(CMAKE_DISABLE_IN_SOURCE_BUILD ON)
77
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
8+
set(CMAKE_PCH_WARN_INVALID OFF)
89
set(REINDEXER_SOURCE_PATH ${PROJECT_SOURCE_DIR}/cpp_src)
10+
# Do not scan for C++ modules to save some overhead
11+
set(CMAKE_CXX_SCAN_FOR_MODULES OFF)
912

1013
add_subdirectory(cpp_src)
14+
15+
# uninstall target
16+
if(NOT TARGET uninstall)
17+
configure_file(
18+
"${PROJECT_SOURCE_DIR}/cpp_src/cmake/cmake_uninstall.cmake.in"
19+
"${PROJECT_BINARY_DIR}/cmake_uninstall.cmake"
20+
IMMEDIATE @ONLY)
21+
22+
add_custom_target(uninstall COMMAND ${CMAKE_COMMAND} -P ${PROJECT_BINARY_DIR}/cmake_uninstall.cmake)
23+
endif()

appveyor.yml

Lines changed: 0 additions & 43 deletions
This file was deleted.

0 commit comments

Comments
 (0)