steps: - name: codespell when: - event: [manual, pull_request] - event: [push, tag] branch: [master, releases/*] image: alpine:latest commands: - apk add openssl - apk add python3 - apk add py3-pip - python3 -m venv codespell-venv - source codespell-venv/bin/activate - pip install codespell - codespell README.md CHANGELOG.md *.c *.h doc/*.scd bar decorations modules particles examples - deactivate - name: subprojects when: - event: [manual, pull_request] - event: [push, tag] branch: [master, releases/*] image: alpine:latest commands: - apk add git - mkdir -p subprojects && cd subprojects - git clone https://codeberg.org/dnkl/tllist.git - git clone https://codeberg.org/dnkl/fcft.git - cd .. - name: x64 when: - event: [manual, pull_request] - event: [push, tag] branch: [master, releases/*] depends_on: [subprojects] image: alpine:latest commands: - 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 pulseaudio-dev pipewire-dev - apk add ttf-dejavu - apk add git - apk add flex bison # Debug - apk add gcovr - mkdir -p bld/debug-x64 - cd bld/debug-x64 - 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 - ./yambar --version - cd ../.. # Release - mkdir -p bld/release-x64 - cd bld/release-x64 - meson --buildtype=minsize ../../ - ninja -k0 - meson test --print-errorlogs - ./yambar --version - cd ../.. # X11 only - mkdir -p bld/x11-only - cd bld/x11-only - meson --buildtype=debug -Dbackend-x11=enabled -Dbackend-wayland=disabled ../../ - ninja -k0 - meson test --print-errorlogs - ./yambar --version - cd ../.. # Wayland only - mkdir -p bld/wayland-only - cd bld/wayland-only - meson --buildtype=debug -Dbackend-x11=disabled -Dbackend-wayland=enabled ../../ - ninja -k0 - meson test --print-errorlogs - ./yambar --version - cd ../.. - name: x86 when: - event: [manual, pull_request] - event: [push, tag] branch: [master, releases/*] depends_on: [subprojects] image: i386/alpine:latest commands: - 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 pulseaudio-dev pipewire-dev - apk add ttf-dejavu - apk add git - apk add flex bison # Debug - mkdir -p bld/debug-x86 - cd bld/debug-x86 - meson --buildtype=debug ../../ - ninja -k0 - meson test --print-errorlogs - ./yambar --version - cd ../.. # Release - mkdir -p bld/release-x86 - cd bld/release-x86 - meson --buildtype=minsize ../../ - ninja -k0 - meson test --print-errorlogs - ./yambar --version - cd ../.. # Plugins as shared modules - mkdir -p bld/shared-modules - cd bld/shared-modules - meson --buildtype=debug -Dcore-plugins-as-shared-libraries=true ../../ - ninja -k0 - meson test --print-errorlogs - ./yambar --version - cd ../..