matrix: platform: - linux/amd64 labels: platform: ${platform} steps: build-n-test: when: event: [push] image: alpine:latest commands: - apk update - apk add --no-cache bash build-base words-en gdb valgrind # build - make # look for memory leaks etc - valgrind --leak-check=full --show-reachable=yes ./dicepwgen 2>&1 | tee log | grep "All heap blocks were freed" - cat log # enable in case of a crash #- gdb -batch -ex "run" -ex "bt" --args dicepwgen # check if we really get a password - ./dicepwgen -y | grep -E '[a-z]*%' # check a custom dict file and if we get 6 words when requested - test 6 -eq $(./dicepwgen -f contrib/american-english-insane -c 6 | tee log | sed 's/[a-zA-Z]//g' | wc -c) - cat log