mirror of
https://github.com/hyprwm/Hyprland
synced 2024-11-26 18:25:59 +01:00
T1C: CMake Release Pipeline (CI)
This commit is contained in:
parent
a98c07cd00
commit
5614f28dfd
2 changed files with 29 additions and 70 deletions
48
.github/workflows/ci.yaml
vendored
48
.github/workflows/ci.yaml
vendored
|
@ -13,34 +13,44 @@ jobs:
|
||||||
sed -i 's/SigLevel = Required DatabaseOptional/SigLevel = Optional TrustAll/' /etc/pacman.conf
|
sed -i 's/SigLevel = Required DatabaseOptional/SigLevel = Optional TrustAll/' /etc/pacman.conf
|
||||||
pacman --noconfirm --noprogressbar -Syyu
|
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
|
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
|
- name: Set up user
|
||||||
run: |
|
run: |
|
||||||
useradd -m githubuser
|
useradd -m githubuser
|
||||||
echo -e "root ALL=(ALL:ALL) ALL\ngithubuser ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers
|
echo -e "root ALL=(ALL:ALL) ALL\ngithubuser ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers
|
||||||
|
|
||||||
- name: Build wlroots
|
- name: Build wlroots
|
||||||
run: |
|
run: |
|
||||||
su githubuser -c "cd ~ && git clone https://gitlab.freedesktop.org/wlroots/wlroots"
|
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 .."
|
su githubuser -c "cd ~/wlroots && meson build/ --prefix=/usr && ninja -C build/ && sudo ninja -C build/ install && cd .."
|
||||||
|
|
||||||
- name: Fix permissions for git
|
- name: Fix permissions for git
|
||||||
run: |
|
run: |
|
||||||
git config --global --add safe.directory /__w/Hyprland/Hyprland
|
git config --global --add safe.directory /__w/Hyprland/Hyprland
|
||||||
|
|
||||||
- name: Checkout Hyprland
|
- name: Checkout Hyprland
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v3
|
||||||
with:
|
with:
|
||||||
submodules: recursive
|
submodules: recursive
|
||||||
|
- name: Build Hyprland
|
||||||
- name: Build Hyprland With default settings
|
|
||||||
run: |
|
run: |
|
||||||
git submodule sync --recursive && git submodule update --init --force --recursive
|
git submodule sync --recursive && git submodule update --init --force --recursive
|
||||||
make all
|
make all
|
||||||
|
- name: Compress and package artifacts
|
||||||
- name: Build Hyprland with LEGACY_RENDERER
|
|
||||||
run: |
|
run: |
|
||||||
make legacyrenderer
|
mkdir x86_64-pc-linux-gnu
|
||||||
|
mkdir hyprland
|
||||||
|
mkdir hyprland/example
|
||||||
|
mkdir hyprland/assets
|
||||||
|
cp ./LICENSE hyprland/
|
||||||
|
cp build/Hyprland hyprland/
|
||||||
|
cp hyprctl/hyprctl hyprland/
|
||||||
|
cp subprojects/wlroots/build/libwlroots.so.11032 release-files/
|
||||||
|
cp x86_64-pc-linux-gnu/usr/local/bin/* hyprland/
|
||||||
|
cp -r example/ hyprland/
|
||||||
|
cp -r assets/ hyprland/
|
||||||
|
tar -cvf Hyprland.tar.xz hyprland
|
||||||
|
- name: Release
|
||||||
|
uses: actions/upload-artifact@v3
|
||||||
|
with:
|
||||||
|
name: Build archive
|
||||||
|
path: Hyprland.tar.xz
|
||||||
|
|
||||||
meson:
|
meson:
|
||||||
name: "Build Hyprland with Meson (Arch)"
|
name: "Build Hyprland with Meson (Arch)"
|
||||||
|
@ -63,13 +73,13 @@ jobs:
|
||||||
-Ddefault_library=static
|
-Ddefault_library=static
|
||||||
- name: Compile
|
- name: Compile
|
||||||
run: ninja -C obj-x86_64-pc-linux-gnu
|
run: ninja -C obj-x86_64-pc-linux-gnu
|
||||||
- name: Compress artifacts
|
# - name: Compress artifacts
|
||||||
run: |
|
# run: |
|
||||||
mkdir x86_64-pc-linux-gnu
|
# mkdir x86_64-pc-linux-gnu
|
||||||
DESTDIR=$PWD/x86_64-pc-linux-gnu meson install -C obj-x86_64-pc-linux-gnu --tags runtime
|
# DESTDIR=$PWD/x86_64-pc-linux-gnu meson install -C obj-x86_64-pc-linux-gnu --tags runtime
|
||||||
tar -cvf x86_64-pc-linux-gnu.tar.xz x86_64-pc-linux-gnu
|
# tar -cvf x86_64-pc-linux-gnu.tar.xz x86_64-pc-linux-gnu
|
||||||
- name: Upload artifacts
|
# - name: Upload artifacts
|
||||||
uses: actions/upload-artifact@v3
|
# uses: actions/upload-artifact@v3
|
||||||
with:
|
# with:
|
||||||
name: Build artifacts (x86_64-pc-linux-gnu)
|
# name: Build artifacts (x86_64-pc-linux-gnu)
|
||||||
path: x86_64-pc-linux-gnu.tar.xz
|
# path: x86_64-pc-linux-gnu.tar.xz
|
||||||
|
|
51
.github/workflows/release.yaml
vendored
51
.github/workflows/release.yaml
vendored
|
@ -1,51 +0,0 @@
|
||||||
name: Release
|
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
tags:
|
|
||||||
- "v*.*.*"
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
meson-rl:
|
|
||||||
name: "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: 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 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 release-files
|
|
||||||
- name: Upload release archive
|
|
||||||
uses: actions/upload-artifact@v3
|
|
||||||
with:
|
|
||||||
name: Release archive (x86_64-pc-linux-gnu)
|
|
||||||
path: Hyprland.tar.xz
|
|
||||||
# - name: Release
|
|
||||||
# uses: softprops/action-gh-release@v1
|
|
||||||
# if: startsWith(github.ref, 'refs/tags/')
|
|
||||||
# with:
|
|
||||||
# files: Hyprland.tar.xz
|
|
Loading…
Reference in a new issue