mirror of
https://github.com/redis/redis.git
synced 2026-04-22 06:40:33 -04:00
PR https://github.com/redis/redis/pull/13916 introduced a regression - by overriding the `CFLAGS` and `LDFLAGS` variables for all of the dependencies hiredis and fast_float lost some of their compiler/linker flags. This PR makes it so we can pass additional CFLAGS/LDFLAGS to hiredis, without overriding them as it contains a bit more complex Makefile. As for fast_float - passing CFLAGS/LDFLAGS from outside now doesn't break the expected behavior. The build step in the CI was changed so that the MacOS is now build with TLS to catch such errors in the future.
104 lines
3.2 KiB
YAML
104 lines
3.2 KiB
YAML
name: CI
|
|
|
|
on: [push, pull_request]
|
|
|
|
jobs:
|
|
|
|
test-ubuntu-latest:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- 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@v4
|
|
- name: make
|
|
# build with TLS module just for compilation coverage
|
|
run: make SANITIZER=address REDIS_CFLAGS='-Werror -DDEBUG_ASSERTIONS' BUILD_TLS=module
|
|
- name: testprep
|
|
run: sudo apt-get install tcl8.6 tclx -y
|
|
- 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@v4
|
|
- 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@v4
|
|
- name: make
|
|
# Fail build if there are warnings
|
|
# build with TLS just for compilation coverage
|
|
run: make REDIS_CFLAGS='-Werror' BUILD_TLS=yes
|
|
|
|
build-32bit:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- name: make
|
|
run: |
|
|
sudo apt-get update && sudo apt-get install libc6-dev-i386 gcc-multilib g++-multilib
|
|
make REDIS_CFLAGS='-Werror' 32bit
|
|
|
|
build-libc-malloc:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- name: make
|
|
run: make REDIS_CFLAGS='-Werror' MALLOC=libc
|
|
|
|
build-centos-jemalloc:
|
|
runs-on: ubuntu-latest
|
|
container: quay.io/centos/centos:stream9
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- name: make
|
|
run: |
|
|
dnf -y install which gcc gcc-c++ make
|
|
make REDIS_CFLAGS='-Werror'
|
|
|
|
build-old-chain-jemalloc:
|
|
runs-on: ubuntu-latest
|
|
container: ubuntu:20.04
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- name: make
|
|
run: |
|
|
apt-get update
|
|
apt-get install -y gnupg2
|
|
echo "deb http://archive.ubuntu.com/ubuntu/ xenial main" >> /etc/apt/sources.list
|
|
echo "deb http://archive.ubuntu.com/ubuntu/ xenial universe" >> /etc/apt/sources.list
|
|
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 40976EAF437D05B5
|
|
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 3B4FE6ACC0B21F32
|
|
apt-get update
|
|
apt-get install -y make gcc-4.8 g++-4.8
|
|
update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 100
|
|
update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.8 100
|
|
make CC=gcc REDIS_CFLAGS='-Werror'
|