
There is a new change in linux kernel 6.6.6 that uses randomization of address space to harden security, but it interferes with the way ASAN works. Folks are working on a fix, but this is a temporary mitigation for us to get our CI to be green again. See https://github.com/google/sanitizers/issues/1716 for more information See https://github.com/redis/redis/actions/runs/8305126288/job/22731614306?pr=13149 for a recent failure
88 lines
2.3 KiB
YAML
88 lines
2.3 KiB
YAML
name: CI
|
|
|
|
on: [push, pull_request]
|
|
|
|
jobs:
|
|
|
|
test-ubuntu-latest:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
- name: make
|
|
# Fail build if there are warnings
|
|
# build with TLS just for compilation coverage
|
|
run: make REDIS_CFLAGS='-Werror' BUILD_TLS=yes
|
|
- name: test
|
|
run: |
|
|
sudo apt-get install tcl8.6 tclx
|
|
./runtest --verbose --tags -slow --dump-logs
|
|
- name: module api test
|
|
run: CFLAGS='-Werror' ./runtest-moduleapi --verbose --dump-logs
|
|
- name: validate commands.def up to date
|
|
run: |
|
|
touch src/commands/ping.json
|
|
make commands.def
|
|
dirty=$(git diff)
|
|
if [[ ! -z $dirty ]]; then echo $dirty; exit 1; fi
|
|
|
|
test-sanitizer-address:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
- name: make
|
|
# build with TLS module just for compilation coverage
|
|
run: make SANITIZER=address REDIS_CFLAGS='-Werror -DDEBUG_ASSERTIONS' BUILD_TLS=module
|
|
- name: testprep
|
|
# Work around ASAN issue, see https://github.com/google/sanitizers/issues/1716
|
|
run: |
|
|
sudo apt-get install tcl8.6 tclx -y
|
|
sudo sysctl vm.mmap_rnd_bits=28
|
|
- name: test
|
|
run: ./runtest --verbose --tags -slow --dump-logs
|
|
- name: module api test
|
|
run: CFLAGS='-Werror' ./runtest-moduleapi --verbose --dump-logs
|
|
|
|
build-debian-old:
|
|
runs-on: ubuntu-latest
|
|
container: debian:buster
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
- name: make
|
|
run: |
|
|
apt-get update && apt-get install -y build-essential
|
|
make REDIS_CFLAGS='-Werror'
|
|
|
|
build-macos-latest:
|
|
runs-on: macos-latest
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
- name: make
|
|
run: make REDIS_CFLAGS='-Werror'
|
|
|
|
build-32bit:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
- name: make
|
|
run: |
|
|
sudo apt-get update && sudo apt-get install libc6-dev-i386
|
|
make REDIS_CFLAGS='-Werror' 32bit
|
|
|
|
build-libc-malloc:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
- name: make
|
|
run: make REDIS_CFLAGS='-Werror' MALLOC=libc
|
|
|
|
build-centos7-jemalloc:
|
|
runs-on: ubuntu-latest
|
|
container: centos:7
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
- name: make
|
|
run: |
|
|
yum -y install gcc make
|
|
make REDIS_CFLAGS='-Werror'
|
|
|