name: Release on: push: tags: - "v*.*.*" jobs: meson-rl: name: "Build and release Hyprland with Meson (Arch)" runs-on: ubuntu-latest container: image: archlinux steps: - name: Download dependencies 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 go clang lld libc++ pkgconf meson ninja wayland wayland-protocols libinput libxkbcommon pixman glm libdrm libglvnd cairo pango systemd scdoc base-devel seatd - name: Checkout Hyprland uses: actions/checkout@v3 with: submodules: true - name: Configure run: | meson obj-x86_64-pc-linux-gnu \ -Ddefault_library=static - name: Compile run: ninja -C obj-x86_64-pc-linux-gnu - name: Build wlroots run: | sed -i '$ d' ./Makefile make config - name: Compress and package artifacts run: | mkdir x86_64-pc-linux-gnu mkdir release-files mkdir release-files/example mkdir release-files/assets DESTDIR=$PWD/x86_64-pc-linux-gnu meson install -C obj-x86_64-pc-linux-gnu --tags runtime cp ./LICENSE release-files/ cp subprojects/wlroots/build/libwlroots.so.11032 release-files/ cp x86_64-pc-linux-gnu/usr/local/bin/* release-files/ cp -r example/ release-files/ cp -r assets/ release-files/ tar -cvf Hyprland.tar.xz -C release-files - name: Release uses: softprops/action-gh-release@v1 if: startsWith(github.ref, 'refs/tags/') with: files: Hyprland.tar.xz