summaryrefslogtreecommitdiff
path: root/.github/workflows
diff options
context:
space:
mode:
authorThatOneCalculator <kainoa@t1c.dev>2022-06-22 14:45:48 -0700
committervaxerski <43317083+vaxerski@users.noreply.github.com>2022-06-23 00:11:57 +0200
commit5614f28dfd11da7f19ed05a63510e65f1afb2f63 (patch)
tree7d704859b8797c57dfa1a27b155d5a5a80af904e /.github/workflows
parenta98c07cd003112eb5967b3ecba55648cc89081ec (diff)
T1C: CMake Release Pipeline (CI)
Diffstat (limited to '.github/workflows')
-rw-r--r--.github/workflows/ci.yaml48
-rw-r--r--.github/workflows/release.yaml51
2 files changed, 29 insertions, 70 deletions
diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml
index 8adef5c4..65320773 100644
--- a/.github/workflows/ci.yaml
+++ b/.github/workflows/ci.yaml
@@ -13,34 +13,44 @@ jobs:
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
+ - name: Build Hyprland
run: |
git submodule sync --recursive && git submodule update --init --force --recursive
make all
-
- - name: Build Hyprland with LEGACY_RENDERER
+ - name: Compress and package artifacts
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:
name: "Build Hyprland with Meson (Arch)"
@@ -63,13 +73,13 @@ jobs:
-Ddefault_library=static
- name: Compile
run: ninja -C obj-x86_64-pc-linux-gnu
- - name: Compress artifacts
- run: |
- mkdir x86_64-pc-linux-gnu
- 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
- - name: Upload artifacts
- uses: actions/upload-artifact@v3
- with:
- name: Build artifacts (x86_64-pc-linux-gnu)
- path: x86_64-pc-linux-gnu.tar.xz
+# - name: Compress artifacts
+# run: |
+# mkdir x86_64-pc-linux-gnu
+# 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
+# - name: Upload artifacts
+# uses: actions/upload-artifact@v3
+# with:
+# name: Build artifacts (x86_64-pc-linux-gnu)
+# path: x86_64-pc-linux-gnu.tar.xz
diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml
deleted file mode 100644
index 39cbf3e5..00000000
--- a/.github/workflows/release.yaml
+++ /dev/null
@@ -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