Hyprland/.github/workflows/ci.yaml

128 lines
3.1 KiB
YAML
Raw Normal View History

name: Build Hyprland
2024-07-27 20:29:49 +02:00
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
2022-05-17 13:44:43 +02:00
on: [push, pull_request, workflow_dispatch]
jobs:
gcc:
2022-04-01 21:09:12 +02:00
name: "Build Hyprland (Arch)"
runs-on: ubuntu-latest
container:
image: archlinux
steps:
- name: Checkout repository actions
uses: actions/checkout@v4
2022-05-31 10:47:56 +02:00
with:
sparse-checkout: .github/actions
- name: Setup base
uses: ./.github/actions/setup_base
with:
INSTALL_XORG_PKGS: true
2022-06-22 23:45:48 +02:00
- name: Build Hyprland
run: |
make all
2022-06-22 23:45:48 +02:00
- name: Compress and package artifacts
run: |
2022-06-22 23:45:48 +02:00
mkdir x86_64-pc-linux-gnu
mkdir hyprland
mkdir hyprland/example
mkdir hyprland/assets
cp ./LICENSE hyprland/
cp build/Hyprland hyprland/
cp build/hyprctl/hyprctl hyprland/
2024-03-06 16:26:52 +01:00
cp build/hyprpm/hyprpm hyprland/
cp build/Hyprland hyprland/
2022-06-22 23:45:48 +02:00
cp -r example/ hyprland/
cp -r assets/ hyprland/
tar -cvf Hyprland.tar.xz hyprland
2022-06-22 23:45:48 +02:00
- name: Release
uses: actions/upload-artifact@v3
with:
name: Build archive
path: Hyprland.tar.xz
2022-06-14 11:48:42 +02:00
meson:
name: "Build Hyprland with Meson (Arch)"
runs-on: ubuntu-latest
container:
image: archlinux
steps:
- name: Checkout repository actions
uses: actions/checkout@v4
2022-06-14 11:48:42 +02:00
with:
sparse-checkout: .github/actions
- name: Setup base
uses: ./.github/actions/setup_base
2022-06-14 13:46:10 +02:00
- name: Configure
run: meson setup build -Ddefault_library=static
2022-06-14 13:46:10 +02:00
- name: Compile
run: ninja -C build
2022-10-27 12:26:35 +02:00
2024-04-23 10:02:51 +02:00
no-pch:
name: "Build Hyprland without precompiled headers (Arch)"
runs-on: ubuntu-latest
container:
image: archlinux
steps:
- name: Checkout repository actions
uses: actions/checkout@v4
with:
sparse-checkout: .github/actions
- name: Setup base
uses: ./.github/actions/setup_base
with:
INSTALL_XORG_PKGS: true
- name: Compile
run: make nopch
2022-10-27 12:26:35 +02:00
noxwayland:
name: "Build Hyprland in pure Wayland (Arch)"
runs-on: ubuntu-latest
container:
image: archlinux
steps:
- name: Checkout repository actions
uses: actions/checkout@v4
2022-10-27 12:26:35 +02:00
with:
sparse-checkout: .github/actions
- name: Setup base
uses: ./.github/actions/setup_base
2022-10-27 12:26:35 +02:00
- name: Configure
run: mkdir -p build && cmake --no-warn-unused-cli -DCMAKE_BUILD_TYPE:STRING=Release -DNO_XWAYLAND:STRING=true -H./ -B./build -G Ninja
2022-10-27 12:26:35 +02:00
- name: Compile
run: make release
clang-format:
name: "Code Style (Arch)"
runs-on: ubuntu-latest
container:
image: archlinux
steps:
- name: Checkout repository actions
uses: actions/checkout@v4
with:
sparse-checkout: .github/actions
- name: Setup base
uses: ./.github/actions/setup_base
- name: Configure
run: meson setup build -Ddefault_library=static
- name: clang-format check
run: ninja -C build clang-format-check