# vim: ft=bzl.starlark noexpandtab def main(ctx): return { "kind": "pipeline", "type": "docker", "name": "testing", "steps": [ { "name": "update submodules", "image": "docker.io/immawanderer/fedora-cpp:linux-amd64", "pull": "always", "depends_on": ["clone"], "commands": [ "uname -r", "git submodule update --init --recursive" ] }, { "name": "cppcheck", "image": "docker.io/archlinux:base-devel", "pull": "always", "depends_on": ["update submodules"], "commands": [ "pacman -Sy cppcheck --noconfirm --needed", "uname -r", "cppcheck --version", "cppcheck --language=c++ --std=c++20 --enable=all --verbose ./*.{cpp,h}" ] }, { "name": "build debug", "image": "docker.io/immawanderer/fedora-cpp:linux-amd64", "pull": "always", "depends_on": ["cppcheck"], "commands": [ "uname -r", "make debug" ] }, { "name": "build release", "image": "docker.io/immawanderer/fedora-cpp:linux-amd64", "pull": "always", "depends_on": ["cppcheck"], "commands": [ "uname -r", "make release" ] }, { "name": "build on alpine", "image": "docker.io/alpine:3.14", "pull": "always", "depends_on": ["cppcheck"], "commands": [ "uname -r", "apk add --no-cache gcc g++ cmake ninja --repository=http://dl-cdn.alpinelinux.org/alpine/edge/testing", "ln -sv /usr/bin/ninja /usr/bin/ninja-build", "mkdir -pv debug-alpine", "cmake -G Ninja -DCMAKE_BUILD_TYPE=Debug -B debug-alpine", "ninja -C debug-alpine && ls -lah ./debug-alpine && ./debug-alpine/fortuna" + "||" + "true" ] }, { "name": "valgrind debug", "image": "docker.io/archlinux:base-devel", "pull": "always", "depends_on": ["build debug"], "commands": [ "uname -r", "pacman -Sy gcc cmake crypto++ ninja valgrind --noconfirm --needed", "valgrind --version", "make valgrind" ] }, { "name": "valgrind release", "image": "docker.io/archlinux:base-devel", "pull": "always", "depends_on": ["build release"], "commands": [ "uname -r", "pacman -Sy gcc cmake crypto++ ninja valgrind --noconfirm --needed", "valgrind --version", "make valgrind-release" ] } ] }