Optimize beach_shell.glsl: cache trig/sqrt, inline functions, reduce … #219
This file contains hidden or 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: Build | |
| on: | |
| push: | |
| branches: [main, develop] | |
| pull_request: | |
| branches: [main] | |
| jobs: | |
| build-arch-full: | |
| name: Arch Linux (Wayland + X11) | |
| runs-on: ubuntu-latest | |
| container: | |
| image: archlinux:latest | |
| steps: | |
| - name: Update system and install dependencies | |
| run: | | |
| pacman -Syu --noconfirm | |
| pacman -S --noconfirm base-devel git meson ninja wayland wayland-protocols \ | |
| egl-wayland mesa libpng libjpeg-turbo libx11 libxrandr | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Setup build | |
| run: meson setup build | |
| - name: Build | |
| run: ninja -C build | |
| - name: Check binary | |
| run: | | |
| test -f build/neowall | |
| ./build/neowall --version | |
| ./build/neowall --help | |
| - name: Upload artifact | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: neowall-arch-full | |
| path: build/neowall | |
| build-arch-wayland-only: | |
| name: Arch Linux (Wayland only) | |
| runs-on: ubuntu-latest | |
| container: | |
| image: archlinux:latest | |
| steps: | |
| - name: Update system and install dependencies (no X11) | |
| run: | | |
| pacman -Syu --noconfirm | |
| pacman -S --noconfirm base-devel git meson ninja wayland wayland-protocols \ | |
| egl-wayland mesa libpng libjpeg-turbo | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Setup build (Wayland only) | |
| run: meson setup build -Dx11_backend=disabled | |
| - name: Build | |
| run: ninja -C build | |
| - name: Verify build configuration | |
| run: | | |
| meson configure build | grep -E "wayland_backend|x11_backend" | |
| - name: Check binary | |
| run: | | |
| test -f build/neowall | |
| ./build/neowall --version | |
| build-arch-x11-only: | |
| name: Arch Linux (X11 only) | |
| runs-on: ubuntu-latest | |
| container: | |
| image: archlinux:latest | |
| steps: | |
| - name: Update system and install dependencies (no Wayland) | |
| run: | | |
| pacman -Syu --noconfirm | |
| pacman -S --noconfirm base-devel git meson ninja mesa libpng libjpeg-turbo \ | |
| libx11 libxrandr | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Setup build (X11 only) | |
| run: meson setup build -Dwayland_backend=disabled | |
| - name: Build | |
| run: ninja -C build | |
| - name: Verify build configuration | |
| run: | | |
| meson configure build | grep -E "wayland_backend|x11_backend" | |
| - name: Check binary | |
| run: | | |
| test -f build/neowall | |
| ./build/neowall --version | |
| build-debian-full: | |
| name: Debian (Wayland + X11) | |
| runs-on: ubuntu-latest | |
| container: | |
| image: debian:bookworm | |
| steps: | |
| - name: Install dependencies | |
| run: | | |
| apt-get update | |
| apt-get install -y build-essential git pkg-config meson ninja-build \ | |
| libwayland-dev wayland-protocols libwayland-egl1-mesa \ | |
| libx11-dev libxrandr-dev \ | |
| libegl1-mesa-dev libgles2-mesa-dev \ | |
| libpng-dev libjpeg-dev | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Setup build | |
| run: meson setup build | |
| - name: Build | |
| run: ninja -C build | |
| - name: Check binary | |
| run: | | |
| test -f build/neowall | |
| ./build/neowall --version | |
| - name: Upload artifact | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: neowall-debian-full | |
| path: build/neowall | |
| build-debian-x11-only: | |
| name: Debian (X11 only - i3 style) | |
| runs-on: ubuntu-latest | |
| container: | |
| image: debian:bookworm | |
| steps: | |
| - name: Install dependencies (pure X11, no Wayland) | |
| run: | | |
| apt-get update | |
| apt-get install -y build-essential git pkg-config meson ninja-build \ | |
| libx11-dev libxrandr-dev \ | |
| libegl1-mesa-dev libgles2-mesa-dev \ | |
| libpng-dev libjpeg-dev | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Setup build (X11 only) | |
| run: meson setup build -Dwayland_backend=disabled | |
| - name: Build | |
| run: ninja -C build | |
| - name: Verify build configuration | |
| run: | | |
| meson configure build | grep -E "wayland_backend|x11_backend" | |
| - name: Check binary | |
| run: | | |
| test -f build/neowall | |
| ./build/neowall --version | |
| build-ubuntu: | |
| name: Ubuntu (Wayland + X11) | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Install dependencies | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y build-essential git pkg-config meson ninja-build \ | |
| libwayland-dev wayland-protocols libwayland-egl1-mesa \ | |
| libx11-dev libxrandr-dev \ | |
| libegl1-mesa-dev libgles2-mesa-dev \ | |
| libpng-dev libjpeg-dev | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Setup build | |
| run: meson setup build | |
| - name: Build | |
| run: ninja -C build | |
| - name: Check binary | |
| run: | | |
| test -f build/neowall | |
| ./build/neowall --version | |
| ./build/neowall --help | |
| - name: Test install | |
| run: | | |
| DESTDIR=/tmp/neowall-test ninja -C build install | |
| test -f /tmp/neowall-test/usr/local/bin/neowall | |
| test -d /tmp/neowall-test/usr/local/share/neowall/shaders | |
| test -f /tmp/neowall-test/usr/local/share/neowall/config.vibe | |
| - name: Upload artifact | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: neowall-ubuntu | |
| path: build/neowall |