From 3f9c37967aadc6ee105ae3512073537a170b4261 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 18 Feb 2026 09:59:43 +0000 Subject: [PATCH] Add build workflow for CI/CD Co-authored-by: squassina <8495707+squassina@users.noreply.github.com> --- .github/workflows/build.yml | 73 +++++++++++++++++++++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 .github/workflows/build.yml diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 00000000..ecaddf44 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,73 @@ +name: Build + +on: + push: + branches: [main, master] + pull_request: + branches: [main, master] + workflow_dispatch: + +jobs: + build: + runs-on: ubuntu-latest + + 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 + 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