-
Notifications
You must be signed in to change notification settings - Fork 4
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge remote-tracking branch 'libvalkeycluster/main'
- Loading branch information
Showing
92 changed files
with
16,832 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
BasedOnStyle: LLVM | ||
IndentWidth: 4 | ||
BreakBeforeTernaryOperators: false | ||
ReflowComments: false |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
# Automated dependency updates. | ||
# | ||
# For configuration options see: | ||
# https://docs.github.com/en/github/administering-a-repository/configuration-options-for-dependency-updates | ||
version: 2 | ||
updates: | ||
- package-ecosystem: "github-actions" | ||
directory: "/" | ||
schedule: | ||
interval: "weekly" | ||
open-pull-requests-limit: 10 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,150 @@ | ||
name: CI | ||
|
||
on: [push, pull_request] | ||
|
||
permissions: | ||
contents: read | ||
|
||
jobs: | ||
checkers: | ||
name: Run static checkers | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4.1.5 | ||
- name: Run clang-format style check (.c and .h) | ||
uses: jidicula/clang-format-action@f62da5e3d3a2d88ff364771d9d938773a618ab5e # v4.11.0 | ||
|
||
ubuntu: | ||
name: ${{ matrix.cmake-build-type }}-build [${{ matrix.compiler }}, cmake-${{ matrix.cmake-version }} sanitizer="${{ matrix.sanitizer }}"] | ||
runs-on: ubuntu-20.04 | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
compiler: [gcc-11, clang-12] | ||
cmake-version: [3.19] | ||
cmake-build-type: [Release, RelWithDebInfo] | ||
sanitizer: ["", thread, undefined, leak, address] | ||
include: | ||
- compiler: gcc-7 | ||
cmake-version: 3.14 | ||
cmake-build-type: Release | ||
sanitizer: "" | ||
- compiler: gcc-8 | ||
cmake-version: 3.15 | ||
cmake-build-type: Release | ||
sanitizer: "" | ||
- compiler: clang-7 | ||
cmake-version: 3.17 | ||
cmake-build-type: Release | ||
sanitizer: "" | ||
- compiler: clang-9 | ||
cmake-version: 3.18 | ||
cmake-build-type: Release | ||
sanitizer: "" | ||
|
||
steps: | ||
- name: Prepare | ||
uses: awalsh128/cache-apt-pkgs-action@a6c3917cc929dd0345bfb2d3feaf9101823370ad # v1.4.2 | ||
with: | ||
packages: libevent-dev libuv1-dev libev-dev libglib2.0-dev ${{ matrix.compiler }} | ||
version: 1.0 | ||
- name: Install hiredis | ||
env: | ||
VERSION: 1.2.0 | ||
run: | | ||
curl -L https://github.com/redis/hiredis/archive/v${VERSION}.tar.gz | tar -xz | ||
cmake -S hiredis-${VERSION} -B hiredis-build -DENABLE_SSL=ON | ||
sudo make -C hiredis-build install | ||
- name: Setup cmake | ||
uses: jwlawson/actions-setup-cmake@802fa1a2c4e212495c05bf94dba2704a92a472be # v2.0.2 | ||
with: | ||
cmake-version: ${{ matrix.cmake-version }} | ||
- uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4.1.5 | ||
- name: Create build folder | ||
run: cmake -E make_directory build | ||
- name: Generate makefiles | ||
shell: bash | ||
env: | ||
CC: ${{ matrix.compiler }} | ||
working-directory: build | ||
run: cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DENABLE_SSL=ON -DENABLE_IPV6_TESTS=ON -DDOWNLOAD_HIREDIS=OFF -DUSE_SANITIZER=${{ matrix.sanitizer }} .. | ||
- name: Build | ||
shell: bash | ||
working-directory: build | ||
run: VERBOSE=1 make | ||
- name: Setup clusters | ||
shell: bash | ||
working-directory: build | ||
run: make start | ||
- name: Wait for clusters to start.. | ||
uses: kibertoad/wait-action@99f6f101c5be7b88bb9b41c0d3b810722491b8e5 # 1.0.1 | ||
with: | ||
time: '20s' | ||
- name: Run tests | ||
shell: bash | ||
working-directory: build | ||
run: make CTEST_OUTPUT_ON_FAILURE=1 test | ||
- name: Teardown clusters | ||
working-directory: build | ||
shell: bash | ||
run: make stop | ||
- name: Build examples | ||
shell: bash | ||
env: | ||
CC: ${{ matrix.compiler }} | ||
run: | | ||
examples/using_cmake_externalproject/build.sh | ||
examples/using_cmake_separate/build.sh | ||
examples/using_cmake_and_make_mixed/build.sh | ||
examples/using_make/build.sh | ||
macos: | ||
name: macOS | ||
runs-on: macos-latest | ||
steps: | ||
- name: Prepare | ||
run: | | ||
brew install cmake ninja openssl | ||
- uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4.1.5 | ||
- name: Build | ||
run: | | ||
mkdir build && cd build | ||
cmake .. -G Ninja -DCMAKE_BUILD_TYPE=Release -DENABLE_SSL=ON | ||
ninja -v | ||
windows: | ||
name: Windows | ||
runs-on: windows-latest | ||
steps: | ||
- uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4.1.5 | ||
- uses: ilammy/msvc-dev-cmd@0b201ec74fa43914dc39ae48a89fd1d8cb592756 # v1.13.0 | ||
- name: Prepare | ||
run: | | ||
choco install -y ninja | ||
vcpkg install --triplet x64-windows pkgconf libevent | ||
- name: Build | ||
run: | | ||
mkdir build && cd build | ||
cmake .. -G Ninja -DCMAKE_BUILD_TYPE=Release -DCMAKE_TOOLCHAIN_FILE=C:\vcpkg\scripts\buildsystems\vcpkg.cmake | ||
ninja -v | ||
windows-mingw64: | ||
name: Windows (MinGW64) | ||
runs-on: windows-latest | ||
steps: | ||
- uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4.1.5 | ||
- name: Set up MinGW | ||
uses: msys2/setup-msys2@d0e80f58dffbc64f6a3a1f43527d469b4fc7b6c8 # v2.23.0 | ||
with: | ||
msystem: mingw64 | ||
install: | | ||
mingw-w64-x86_64-gcc | ||
mingw-w64-x86_64-cmake | ||
mingw-w64-x86_64-ninja | ||
mingw-w64-x86_64-libevent | ||
- name: Build | ||
shell: msys2 {0} | ||
run: | | ||
mkdir build && cd build | ||
cmake .. -G Ninja | ||
cmake --build . |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,54 @@ | ||
name: "Coverity" | ||
on: | ||
schedule: | ||
- cron: '0 1 * * 0' | ||
|
||
permissions: | ||
contents: read | ||
|
||
jobs: | ||
analyze: | ||
name: Analyze | ||
if: github.repository == 'Nordix/hiredis-cluster' | ||
runs-on: ubuntu-latest | ||
|
||
steps: | ||
- name: Checkout repository | ||
uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4.1.5 | ||
with: | ||
fetch-depth: 1 | ||
|
||
- name: Download Coverity | ||
run: | | ||
cd .. | ||
wget -q https://scan.coverity.com/download/linux64 --post-data "token=${COVERITY_TOKEN}&project=hiredis-cluster" -O coverity_tool.tgz | ||
mkdir coverity | ||
tar xzf coverity_tool.tgz --strip 1 -C coverity | ||
echo "$(pwd)/coverity/bin" >> $GITHUB_PATH | ||
env: | ||
COVERITY_TOKEN: ${{ secrets.COVERITY_TOKEN }} | ||
|
||
- name: Prepare | ||
uses: awalsh128/cache-apt-pkgs-action@a6c3917cc929dd0345bfb2d3feaf9101823370ad # v1.4.2 | ||
with: | ||
packages: libevent-dev cmake | ||
version: 1.0 | ||
|
||
- name: Build with Coverity | ||
run: | | ||
mkdir build; cd build | ||
cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo -DENABLE_SSL=ON .. | ||
cov-build --dir cov-int make | ||
- name: Submit the result to Coverity | ||
run: | | ||
tar czvf hiredis_cluster.tgz cov-int | ||
curl \ | ||
--form token=${COVERITY_TOKEN} \ | ||
--form [email protected] \ | ||
--form file=@hiredis_cluster.tgz \ | ||
--form version=${GITHUB_SHA} \ | ||
https://scan.coverity.com/builds?project=hiredis-cluster | ||
working-directory: build | ||
env: | ||
COVERITY_TOKEN: ${{ secrets.COVERITY_TOKEN }} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,103 @@ | ||
name: DB compatibility testing | ||
|
||
on: [push, pull_request] | ||
|
||
permissions: | ||
contents: read | ||
|
||
jobs: | ||
valkey: | ||
name: Valkey ${{ matrix.valkey-version }} | ||
runs-on: ubuntu-22.04 | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
include: | ||
- valkey-version: 7.2.5 | ||
steps: | ||
- name: Prepare | ||
uses: awalsh128/cache-apt-pkgs-action@a6c3917cc929dd0345bfb2d3feaf9101823370ad # v1.4.2 | ||
with: | ||
packages: libevent-dev | ||
version: 1.0 | ||
- uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4.1.5 | ||
- name: Create build folder | ||
run: cmake -E make_directory build | ||
- name: Generate makefiles | ||
shell: bash | ||
working-directory: build | ||
run: cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=Release -DENABLE_IPV6_TESTS=ON -DTEST_WITH_VALKEY_VERSION=${{ matrix.valkey-version }} .. | ||
- name: Build | ||
shell: bash | ||
working-directory: build | ||
run: VERBOSE=1 make | ||
- name: Setup clusters | ||
shell: bash | ||
working-directory: build | ||
run: make start | ||
- name: Wait for clusters to start.. | ||
uses: kibertoad/wait-action@99f6f101c5be7b88bb9b41c0d3b810722491b8e5 # 1.0.1 | ||
with: | ||
time: '40s' | ||
- name: Run tests | ||
shell: bash | ||
working-directory: build | ||
run: make CTEST_OUTPUT_ON_FAILURE=1 test | ||
- name: Teardown clusters | ||
working-directory: build | ||
shell: bash | ||
run: make stop | ||
|
||
redis-comp: | ||
name: Redis ${{ matrix.redis-version }} | ||
runs-on: ubuntu-20.04 | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
include: | ||
- redis-version: 7.2.4 | ||
- redis-version: 7.0.15 | ||
- redis-version: 6.2.14 | ||
- redis-version: 6.0.20 | ||
- redis-version: 5.0.14 | ||
steps: | ||
- name: Prepare | ||
uses: awalsh128/cache-apt-pkgs-action@a6c3917cc929dd0345bfb2d3feaf9101823370ad # v1.4.2 | ||
with: | ||
packages: libevent-dev | ||
version: 1.0 | ||
|
||
- uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4.1.5 | ||
|
||
- name: Create build folder | ||
run: cmake -E make_directory build | ||
|
||
- name: Generate makefiles | ||
shell: bash | ||
working-directory: build | ||
run: cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=Release -DENABLE_IPV6_TESTS=ON -DTEST_WITH_REDIS_VERSION=${{ matrix.redis-version }} .. | ||
|
||
- name: Build | ||
shell: bash | ||
working-directory: build | ||
run: VERBOSE=1 make | ||
|
||
- name: Setup clusters | ||
shell: bash | ||
working-directory: build | ||
run: make start | ||
|
||
- name: Wait for clusters to start.. | ||
uses: kibertoad/wait-action@99f6f101c5be7b88bb9b41c0d3b810722491b8e5 # 1.0.1 | ||
with: | ||
time: '40s' | ||
|
||
- name: Run tests | ||
shell: bash | ||
working-directory: build | ||
run: make CTEST_OUTPUT_ON_FAILURE=1 test | ||
|
||
- name: Teardown clusters | ||
working-directory: build | ||
shell: bash | ||
run: make stop |
Oops, something went wrong.