fortuna/.drone.starlark
surtur bd421295c4
feat: use fmt instead of iostreams
switch to fmt - "A modern formatting library" - for fun and profit,
currently in header-only configuration.

ref: https://github.com/fmtlib/fmt

closes #5
closes #4
2021-11-18 22:05:05 +01:00

91 lines
2.3 KiB
Plaintext

# 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"
]
}
]
}