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: Get yay run: | su githubuser -c "cd ~ && mkdir yay && git clone https://aur.archlinux.org/yay.git" chown -R githubuser /home/githubuser/yay su githubuser -c "cd ~/yay && makepkg -si --noconfirm --noprogressbar" - name: Get wlroots-git run: | su githubuser -c "yay -S --mflags --skipinteg --noprovides --answerclean All --answerdiff None --answeredit None --answerupgrade None wlroots-git" - name: Fix permissions for git run: | git config --global --add safe.directory /__w/Hyprland/Hyprland - name: Checkout Hyprland uses: actions/checkout@v3 - 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 nix: name: "Build Hyprland (Nix)" runs-on: ubuntu-latest steps: - name: Clone repository uses: actions/checkout@v3 - name: Install nix uses: cachix/install-nix-action@v17 with: install_url: https://releases.nixos.org/nix/nix-2.8.0/install extra_nix_config: | auto-optimise-store = true experimental-features = nix-command flakes - name: Build HyprLand with default settings run: nix build --print-build-logs