image: alpine:latest stages: - info - build variables: GIT_SUBMODULE_STRATEGY: normal before_script: - apk update - apk add musl-dev eudev-libs eudev-dev linux-headers meson ninja gcc scdoc - apk add pixman-dev freetype-dev fontconfig-dev - apk add libxcb-dev xcb-util-wm-dev xcb-util-cursor-dev yaml-dev - apk add wayland-dev wayland-protocols wlroots-dev - apk add json-c-dev libmpdclient-dev alsa-lib-dev - apk add ttf-dejavu - apk add git versions: stage: info script: - meson --version - ninja --version - cc --version debug: stage: build script: - apk add gcovr - mkdir -p bld/debug - cd bld/debug - meson --buildtype=debug -Db_coverage=true ../.. - ninja -k0 - meson test --print-errorlogs - ninja coverage-html - mv meson-logs/coveragereport ../../coverage - ninja coverage-text - tail -2 meson-logs/coverage.txt artifacts: paths: - coverage coverage: '/^TOTAL.*\s+(\d+\%)$/' # valgrind: # stage: build # script: # - apk add valgrind # - mkdir -p bld/debug # - cd bld/debug # - meson --buildtype=debug ../.. # - ninja -k0 # - meson test --verbose --wrapper "valgrind --leak-check=full --show-leak-kinds=all --error-exitcode=3" release: stage: build script: - mkdir -p bld/release - cd bld/release - meson --buildtype=minsize ../../ - ninja -k0 - meson test --print-errorlogs x11_only: stage: build script: - mkdir -p bld/debug - cd bld/debug - meson --buildtype=debug -Dbackend-x11=enabled -Dbackend-wayland=disabled ../../ - ninja -k0 - meson test --print-errorlogs wayland_only: stage: build script: - mkdir -p bld/debug - cd bld/debug - meson --buildtype=debug -Dbackend-x11=disabled -Dbackend-wayland=enabled ../../ - ninja -k0 - meson test --print-errorlogs plugins_as_shared_modules: stage: build script: - mkdir -p bld/debug - cd bld/debug - meson --buildtype=debug -Dcore-plugins-as-shared-libraries=true ../../ - ninja -k0 - meson test --print-errorlogs codespell: image: alpine:latest stage: build script: - apk add python3 - apk add py3-pip - pip install codespell - codespell README.md CHANGELOG.md *.c *.h doc/*.scd