stages: - build - test - analysis build-debian: image: debian:stable script: - apt-get update -qq && apt-get install -y -qq coreutils git make autoconf automake gcc pkg-config libseccomp-dev libssh-dev - ./autogen.sh - CFLAGS="-DHAVE_SECCOMP=1" ./configure - make V=s - cp ./src/potd ./src/potd-full - cp ./config.log ./config-full.log - apt-get purge --allow-remove-essential -y -qq libseccomp2 libseccomp-dev - ./configure - make V=s stage: build artifacts: paths: - ./src/potd-full - ./config-full.log - ./src/potd - ./config.log build-arch: image: archlinux/base script: - pacman -Sy archlinux-keyring --noconfirm - pacman -Syu --noconfirm coreutils git make autoconf automake gcc pkg-config libseccomp libssh - ./autogen.sh - CFLAGS="-DHAVE_SECCOMP=1" ./configure - make V=s - cp ./src/potd ./src/potd-full - cp ./config.log ./config-full.log - ./configure - make V=s stage: test artifacts: paths: - ./src/potd-full - ./config-full.log - ./src/potd - ./config.log flawfinder: image: archlinux/base stage: analysis script: - pacman -Sy archlinux-keyring --noconfirm - pacman -Syu --noconfirm flawfinder - flawfinder --minlevel=3 -QD . - flawfinder --inputs --minlevel=3 -QD . - flawfinder --html --minlevel=3 . >./flawfinder.html - flawfinder --html --inputs --minlevel=3 . >./flawfinder_inputs.html artifacts: paths: - ./flawfinder.html - ./flawfinder_inputs.html cppcheck: image: archlinux/base stage: analysis script: - pacman -Sy archlinux-keyring --noconfirm - pacman -Syu --noconfirm cppcheck - cppcheck --force --enable=warning,unusedFunction,performance,portability --inconclusive --std=posix -DNDEBUG=1 -DHAVE_STRTOK_R=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GETPWNAM_R=1 -DHAVE_GETGRNAM_R=1 ./src