name: Build Hyprland on: [push, pull_request, workflow_dispatch] jobs: gcc: name: "Build Hyprland (Arch)" runs-on: ubuntu-latest container: image: archlinux steps: - name: Get required pacman pkgs run: | sed -i 's/SigLevel = Required DatabaseOptional/SigLevel = Optional TrustAll/' /etc/pacman.conf pacman --noconfirm --noprogressbar -Syyu pacman --noconfirm --noprogressbar -Sy glslang libepoxy libfontenc libxcvt libxfont2 libxkbfile vulkan-headers vulkan-validation-layers xcb-util-errors xcb-util-renderutil xcb-util-wm xorg-fonts-encodings xorg-server-common xorg-setxkbmap xorg-xkbcomp xorg-xwayland git cmake go clang lld libc++ pkgconf meson ninja wayland wayland-protocols libinput libxkbcommon pixman glm libdrm libglvnd cairo pango systemd scdoc base-devel seatd - name: Set up user run: | useradd -m githubuser echo -e "root ALL=(ALL:ALL) ALL\ngithubuser ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers - name: Build wlroots run: | su githubuser -c "cd ~ && git clone https://gitlab.freedesktop.org/wlroots/wlroots" su githubuser -c "cd ~/wlroots && meson build/ --prefix=/usr && ninja -C build/ && sudo ninja -C build/ install && cd .." - name: Fix permissions for git run: | git config --global --add safe.directory /__w/Hyprland/Hyprland - name: Checkout Hyprland uses: actions/checkout@v3 with: submodules: recursive - name: Build Hyprland With default settings run: | git submodule sync --recursive && git submodule update --init --force --recursive make all - name: Build Hyprland with LEGACY_RENDERER run: | make legacyrenderer