Add sanitizers to CI and fix a found test issue #204
Workflow file for this run
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
name: C/C++ CI | |
on: [push, pull_request] | |
jobs: | |
full-build: | |
name: Build all, plus default examples, run tests against redis | |
runs-on: ubuntu-latest | |
env: | |
# the docker image used by the test.sh | |
REDIS_DOCKER: redis:alpine | |
steps: | |
- name: Install prerequisites | |
run: sudo apt-get update && sudo apt-get install -y libev-dev libevent-dev libglib2.0-dev libssl-dev valgrind | |
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 | |
- name: Run make | |
run: make all examples | |
- name: Run unittests | |
run: make check | |
- name: Run tests with valgrind | |
env: | |
TEST_PREFIX: valgrind --error-exitcode=100 | |
SKIPS_ARG: --skip-throughput | |
run: make check | |
build-32-bit: | |
name: Build and test minimal 32 bit linux | |
runs-on: ubuntu-latest | |
steps: | |
- name: Install prerequisites | |
run: sudo apt-get update && sudo apt-get install gcc-multilib | |
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 | |
- name: Run make | |
run: make 32bit | |
- name: Run unittests | |
env: | |
REDIS_DOCKER: redis:alpine | |
run: make check | |
build-arm: | |
name: Cross-compile and test arm linux with Qemu | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
include: | |
- name: arm | |
toolset: arm-linux-gnueabi | |
emulator: qemu-arm | |
- name: aarch64 | |
toolset: aarch64-linux-gnu | |
emulator: qemu-aarch64 | |
steps: | |
- name: Install qemu | |
if: matrix.emulator | |
run: sudo apt-get update && sudo apt-get install -y qemu-user | |
- name: Install platform toolset | |
if: matrix.toolset | |
run: sudo apt-get install -y gcc-${{matrix.toolset}} | |
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 | |
- name: Run make | |
run: make all | |
env: | |
CC: ${{matrix.toolset}}-gcc | |
AR: ${{matrix.toolset}}-ar | |
- name: Run unittests | |
env: | |
REDIS_DOCKER: redis:alpine | |
TEST_PREFIX: ${{matrix.emulator}} -L /usr/${{matrix.toolset}}/ | |
run: make check |