diff --git a/.github/workflows/ci-centos-7.yml b/.github/workflows/ci-centos-7.yml new file mode 100644 index 000000000..ca8105c8d --- /dev/null +++ b/.github/workflows/ci-centos-7.yml @@ -0,0 +1,30 @@ +name: CI CentOS 7 + +on: + push: + branches: + - '*' + pull_request: + branches: [ master ] + +jobs: + build: + runs-on: ubuntu-latest + container: centos:7 + + steps: + - name: Enable RPMFusion and EPEL + run: yum -y install https://mirrors.rpmfusion.org/free/el/rpmfusion-free-release-7.noarch.rpm https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm + - name: Install git + run: yum -y install https://repo.ius.io/ius-release-el7.rpm && yum -y install git224 + - uses: actions/checkout@v2 + with: + submodules: recursive + - name: Install dependencies + run: yum -y update && yum -y install make cmake3 gcc-c++ mariadb-devel ffmpeg-devel libcurl-devel vlc-devel libvncserver-devel libjpeg-turbo-devel "perl(Date::Manip)" "perl(DBD::mysql)" "perl(ExtUtils::MakeMaker)" "perl(Sys::Mmap)" "perl(Sys::Syslog)" "perl(LWP::UserAgent)" polkit-devel + - name: Prepare + run: mkdir build + - name: Configure + run: cd build && cmake3 --version && cmake3 .. -DBUILD_MAN=0 -DENABLE_WERROR=1 + - name: Build + run: cd build && make -j3 | grep --line-buffered -Ev '^(cp lib\/|Installing.+\.pm)' && (exit ${PIPESTATUS[0]}) diff --git a/.github/workflows/ci-centos-8.yml b/.github/workflows/ci-centos-8.yml new file mode 100644 index 000000000..d838804f7 --- /dev/null +++ b/.github/workflows/ci-centos-8.yml @@ -0,0 +1,32 @@ +name: CI CentOS 8 + +on: + push: + branches: + - '*' + pull_request: + branches: [ master ] + +jobs: + build: + runs-on: ubuntu-latest + container: centos:8 + + steps: + - name: Enable RPMFusion, EPEL and PowerTools + run: yum -y install "dnf-command(config-manager)" https://mirrors.rpmfusion.org/free/el/rpmfusion-free-release-8.noarch.rpm https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm && yum config-manager --set-enabled powertools + - name: Install git + run: yum -y install git + - uses: actions/checkout@v2 + with: + submodules: recursive + - name: Install dependencies + run: yum -y update && yum -y install make cmake gcc-c++ catch-devel mariadb-devel ffmpeg-devel libcurl-devel vlc-devel libvncserver-devel libjpeg-turbo-devel "perl(Date::Manip)" "perl(DBD::mysql)" "perl(ExtUtils::MakeMaker)" "perl(Sys::Mmap)" "perl(Sys::Syslog)" "perl(LWP::UserAgent)" polkit-devel + - name: Prepare + run: mkdir build + - name: Configure + run: cd build && cmake --version && cmake .. -DBUILD_MAN=0 -DBUILD_TEST_SUITE=1 -DENABLE_WERROR=1 + - name: Build + run: cd build && make -j3 | grep --line-buffered -Ev '^(cp lib\/|Installing.+\.pm)' && (exit ${PIPESTATUS[0]}) + - name: Run test + run: cd build/tests && ./tests "~[notCI]" diff --git a/cmake/compiler/gcc/settings.cmake b/cmake/compiler/gcc/settings.cmake index ce84dcc1a..14eca0310 100644 --- a/cmake/compiler/gcc/settings.cmake +++ b/cmake/compiler/gcc/settings.cmake @@ -6,6 +6,7 @@ target_compile_options(zm-warning-interface -Wformat-security -Wno-cast-function-type $<$,11>:-Wno-clobbered> + $<$,5.1>:-Wno-missing-field-initializers> -Wno-unused-parameter -Woverloaded-virtual -Wvla) diff --git a/src/zm_comms.cpp b/src/zm_comms.cpp index bef10164d..e3855bdea 100644 --- a/src/zm_comms.cpp +++ b/src/zm_comms.cpp @@ -205,6 +205,7 @@ bool ZM::SockAddrUnix::resolve(const char *path, const char *proto) { memset(&mAddrUn, 0, sizeof(mAddrUn)); strncpy(mAddrUn.sun_path, path, sizeof(mAddrUn.sun_path)); + mAddrUn.sun_path[sizeof(mAddrUn.sun_path) - 1] = '\0'; mAddrUn.sun_family = AF_UNIX; return true; diff --git a/tests/zm_font.cpp b/tests/zm_font.cpp index 9ddb79a0e..432f26d7e 100644 --- a/tests/zm_font.cpp +++ b/tests/zm_font.cpp @@ -80,8 +80,11 @@ TEST_CASE("FontVariant: GetCodepoint") { std::vector bitmap(FontVariant::kMaxNumCodePoints * height); // fill bitmap for each codepoint alternating with 1 and std::numeric_limits::max() + // TODO: restore capture initializer when C++14 is supported + int32 n = 0; + bool zero = true; std::generate(bitmap.begin(), bitmap.end(), - [n = 0, zero = true]() mutable { + [n, zero]() mutable { if (n == height) { zero = !zero; n = 0;