name: Build on: push: branches: [main, master] pull_request: branches: [main, master] workflow_dispatch: jobs: build: runs-on: ubuntu-latest permissions: contents: read steps: - name: Checkout code uses: actions/checkout@v4 - name: Install dependencies run: | sudo apt-get update sudo apt-get install -y \ meson \ ninja-build \ wayland-protocols \ libwayland-dev \ libinput-dev \ libxkbcommon-dev \ libpcre2-dev \ libpixman-1-dev \ libdrm-dev \ libxcb1-dev \ libxcb-icccm4-dev \ xwayland \ hwdata \ libliftoff-dev \ libdisplay-info-dev \ libseat-dev \ pkg-config - name: Install wlroots 0.19 run: | # Install wlroots 0.19 from source since it may not be in apt git clone https://gitlab.freedesktop.org/wlroots/wlroots.git cd wlroots git checkout 0.19.0 meson setup build/ --prefix=/usr sudo ninja -C build/ install sudo ldconfig cd .. - name: Install scenefx 0.4.1 run: | # Install scenefx from source git clone -b 0.4.1 https://github.com/wlrfx/scenefx.git cd scenefx meson setup build/ --prefix=/usr sudo ninja -C build/ install sudo ldconfig cd .. - name: Configure meson run: | meson setup build/ --prefix=/usr - name: Build project run: | ninja -C build/ - name: Build summary run: | echo "✅ Build completed successfully!" echo "Built executables:" ls -lh build/mango build/mmsg