| name: CI |
| |
| on: [ push, pull_request ] |
| |
| env: |
| # Enable format attributes in ncurses headers |
| # Enable fortified memory/string handling |
| CPPFLAGS: -DGCC_PRINTF -DGCC_SCANF -D_FORTIFY_SOURCE=2 |
| |
| jobs: |
| build-ubuntu-latest-minimal-gcc: |
| runs-on: ubuntu-latest |
| steps: |
| - uses: actions/checkout@v2 |
| - name: Install Dependencies |
| run: sudo apt-get install libncursesw5-dev |
| - name: Bootstrap |
| run: ./autogen.sh |
| - name: Configure |
| run: ./configure --enable-werror --enable-linux-affinity --disable-unicode --without-sensors |
| - name: Enable compatibility modes |
| run: | |
| sed -i 's/#define HAVE_FSTATAT 1/#undef HAVE_FSTATAT/g' config.h |
| sed -i 's/#define HAVE_OPENAT 1/#undef HAVE_OPENAT/g' config.h |
| sed -i 's/#define HAVE_READLINKAT 1/#undef HAVE_READLINKAT/g' config.h |
| - name: Build |
| run: make -k |
| - name: Distcheck |
| run: make distcheck DISTCHECK_CONFIGURE_FLAGS="--enable-werror --enable-linux-affinity --disable-unicode --without-sensors" |
| |
| build-ubuntu-latest-minimal-clang: |
| runs-on: ubuntu-latest |
| env: |
| CC: clang-11 |
| steps: |
| - uses: actions/checkout@v2 |
| - name: install clang repo |
| run: | |
| wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key 2>/dev/null | sudo apt-key add - |
| sudo add-apt-repository 'deb http://apt.llvm.org/bionic/ llvm-toolchain-bionic-11 main' -y |
| sudo apt-get update -q |
| - name: Install Dependencies |
| run: sudo apt-get install clang-11 libncursesw5-dev |
| - name: Bootstrap |
| run: ./autogen.sh |
| - name: Configure |
| run: ./configure --enable-werror --enable-linux-affinity --disable-unicode --without-sensors |
| - name: Build |
| run: make -k |
| - name: Distcheck |
| run: make distcheck DISTCHECK_CONFIGURE_FLAGS="--enable-werror --enable-linux-affinity --disable-unicode --without-sensors" |
| |
| build-ubuntu-latest-full-featured-gcc: |
| runs-on: ubuntu-latest |
| # Enable LTO, might trigger additional warnings on advanced inlining |
| env: |
| CFLAGS: -O3 -g -flto |
| LDFLAGS: -O3 -g -flto |
| steps: |
| - uses: actions/checkout@v2 |
| - name: Install Dependencies |
| run: sudo apt-get install libncursesw5-dev libhwloc-dev libnl-3-dev libnl-genl-3-dev libsensors4-dev libcap-dev |
| - name: Bootstrap |
| run: ./autogen.sh |
| - name: Configure |
| run: ./configure --enable-werror --enable-openvz --enable-vserver --enable-ancient-vserver --enable-unicode --enable-hwloc --enable-setuid --enable-delayacct --with-sensors --with-capabilities |
| - name: Build |
| run: make -k |
| - name: Distcheck |
| run: make distcheck DISTCHECK_CONFIGURE_FLAGS='--enable-werror --enable-openvz --enable-vserver --enable-ancient-vserver --enable-unicode --enable-hwloc --enable-setuid --enable-delayacct --with-sensors --with-capabilities' |
| |
| build-ubuntu-latest-full-featured-clang: |
| runs-on: ubuntu-latest |
| env: |
| CC: clang-11 |
| steps: |
| - uses: actions/checkout@v2 |
| - name: install clang repo |
| run: | |
| wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key 2>/dev/null | sudo apt-key add - |
| sudo add-apt-repository 'deb http://apt.llvm.org/bionic/ llvm-toolchain-bionic-11 main' -y |
| sudo apt-get update -q |
| - name: Install Dependencies |
| run: sudo apt-get install clang-11 libncursesw5-dev libhwloc-dev libnl-3-dev libnl-genl-3-dev libsensors4-dev libcap-dev |
| - name: Bootstrap |
| run: ./autogen.sh |
| - name: Configure |
| run: ./configure --enable-werror --enable-openvz --enable-vserver --enable-ancient-vserver --enable-unicode --enable-hwloc --enable-setuid --enable-delayacct --with-sensors --with-capabilities |
| - name: Build |
| run: make -k |
| - name: Distcheck |
| run: make distcheck DISTCHECK_CONFIGURE_FLAGS='--enable-werror --enable-openvz --enable-vserver --enable-ancient-vserver --enable-unicode --enable-hwloc --enable-setuid --enable-delayacct --with-sensors --with-capabilities' |
| |
| build-ubuntu-latest-clang-analyzer: |
| runs-on: ubuntu-latest |
| env: |
| CC: clang-11 |
| steps: |
| - uses: actions/checkout@v2 |
| - name: install clang repo |
| run: | |
| wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key 2>/dev/null | sudo apt-key add - |
| sudo add-apt-repository 'deb http://apt.llvm.org/bionic/ llvm-toolchain-bionic-11 main' -y |
| sudo apt-get update -q |
| - name: Install Dependencies |
| run: sudo apt-get install clang-11 clang-tools-11 libncursesw5-dev libhwloc-dev libnl-3-dev libnl-genl-3-dev libsensors4-dev libcap-dev |
| - name: Bootstrap |
| run: ./autogen.sh |
| - name: Configure |
| run: scan-build-11 -analyze-headers --status-bugs ./configure --enable-debug --enable-werror --enable-openvz --enable-vserver --enable-ancient-vserver --enable-unicode --enable-hwloc --enable-setuid --enable-delayacct --with-sensors --with-capabilities |
| - name: Build |
| run: scan-build-11 -analyze-headers --status-bugs make -j"$(nproc)" |
| |
| build-macos-latest-clang: |
| runs-on: macOS-latest |
| env: |
| CC: clang |
| steps: |
| - uses: actions/checkout@v2 |
| - name: Install Dependencies |
| run: brew install automake |
| - name: Bootstrap |
| run: ./autogen.sh |
| - name: Configure |
| run: ./configure --enable-werror |
| - name: Build |
| run: make -k |
| - name: Distcheck |
| run: make distcheck DISTCHECK_CONFIGURE_FLAGS="--enable-werror" |
| |
| whitespace_check: |
| runs-on: ubuntu-latest |
| steps: |
| - uses: actions/checkout@v2 |
| - name: check-whitespaces |
| run: git diff-tree --check $(git hash-object -t tree /dev/null) HEAD |