Port to wlroots 0.18.x #4740
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI | |
on: [push, pull_request] | |
jobs: | |
test_musl_gcc: | |
name: "Test with GCC/musl/libstdc++/BFD on Alpine Linux" | |
runs-on: ubuntu-latest | |
container: alpine:latest | |
steps: | |
- run: apk --no-cache add git gcc g++ binutils pkgconf meson ninja musl-dev wayland-protocols libinput-dev libevdev-dev libxkbcommon-dev pixman-dev glm-dev mesa-dev cairo-dev pango-dev eudev-dev libxml2-dev libseat-dev libxcb-dev xcb-util-wm-dev xwayland doctest doctest-dev cmake libdisplay-info-dev hwdata-dev nlohmann-json | |
- run: git clone https://gitlab.freedesktop.org/wayland/wayland && cd wayland && git checkout 1.23.0 && meson setup build -Ddocumentation=false -Dtests=false --prefix=/usr && ninja -C build && ninja -C build install && cd .. && rm -rf wayland | |
- run: git clone https://gitlab.freedesktop.org/mesa/drm && cd drm && meson setup build --prefix=/usr && ninja -C build && ninja -C build install && cd .. && rm -rf drm | |
- uses: actions/checkout@v1 | |
- run: git config --global --add safe.directory /__w/wayfire/wayfire | |
- run: git submodule sync --recursive && git submodule update --init --force --recursive | |
- run: (cd subprojects/wlroots && meson build --prefix=/usr && ninja -C build install) | |
- run: meson build -Dtests=enabled -Db_pch=true -Duse_system_wlroots=enabled | |
- run: ninja -v -Cbuild | |
- run: ninja -v -Cbuild test | |
test_glibc_llvm: | |
name: "Test with clang/glibc/libc++/lld on Arch Linux" | |
runs-on: ubuntu-latest | |
container: | |
image: archlinux:latest | |
steps: | |
- run: sed -i 's/SigLevel = Required DatabaseOptional/SigLevel = Optional TrustAll/' /etc/pacman.conf | |
- run: pacman --noconfirm --noprogressbar -Syyu | |
- run: pacman-key --init | |
- run: pacman-key --recv-key 7DD85120C491D581 --keyserver keyserver.ubuntu.com | |
- run: pacman-key --lsign-key 7DD85120C491D581 | |
- run: printf '[stefanwimmer128]\nServer = https://repo.stefanwimmer128.xyz/$repo/$arch/' >> /etc/pacman.conf | |
- run: pacman --noconfirm --noprogressbar -Syyu | |
- run: pacman --noconfirm --noprogressbar -Sy git clang17 lld libc++ pkgconf cmake meson ninja wayland wayland-protocols libinput libxkbcommon pixman glm libdrm libglvnd cairo pango systemd scdoc base-devel seatd hwdata libdisplay-info openmp nlohmann-json | |
# Build Wayfire | |
- uses: actions/checkout@v1 | |
- run: git config --global --add safe.directory /__w/wayfire/wayfire | |
- run: git submodule sync --recursive && git submodule update --init --force --recursive | |
- run: find /usr/bin/ | grep clang | |
- run: (cd subprojects/wlroots && env CC=clang-17 CXX=clang++-17 CXXFLAGS="-stdlib=libc++" LDFLAGS="-fuse-ld=lld -stdlib=libc++" meson build --prefix=/usr && ninja -C build install) | |
- run: env CC=clang-17 CXX=clang++-17 CXXFLAGS="-stdlib=libc++" LDFLAGS="-fuse-ld=lld -stdlib=libc++" meson build -Db_pch=true -Duse_system_wlroots=enabled --unity on | |
- run: ninja -v -Cbuild | |
- run: ninja -v -Cbuild test | |
test_code_style: | |
name: "Check code style with uncrustify" | |
runs-on: ubuntu-latest | |
steps: | |
- run: sudo apt-get update | |
- run: sudo apt-get install -y git cmake gcc make | |
- uses: actions/checkout@v1 | |
- run: git clone http://github.com/ammen99/uncrustify | |
- run: cd uncrustify && mkdir build && cd build && cmake ../ && make && cd ../../ | |
- run: git ls-files | grep "hpp$\|cpp$" | xargs ./uncrustify/build/uncrustify -c uncrustify.ini --no-backup --replace | |
- run: git diff | |
- run: git diff | diff - /dev/null &> /dev/null |