Hyprland/.github/workflows/ci.yaml
2022-05-17 13:44:43 +02:00

62 lines
2.4 KiB
YAML

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