Add build workflow for CI/CD

Co-authored-by: squassina <8495707+squassina@users.noreply.github.com>
This commit is contained in:
copilot-swe-agent[bot] 2026-02-18 09:59:43 +00:00
parent 173a24d931
commit 3f9c37967a

73
.github/workflows/build.yml vendored Normal file
View file

@ -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