From e42f6c38920c7a0f97805a767d4287001de35631 Mon Sep 17 00:00:00 2001 From: nmzik Date: Mon, 27 Jul 2026 14:13:34 +0200 Subject: [PATCH] ci: add Linux build workflow --- .github/workflows/build-linux.yml | 82 +++++++++++++++++++++++++++++++ README.md | 2 + 2 files changed, 84 insertions(+) create mode 100644 .github/workflows/build-linux.yml diff --git a/.github/workflows/build-linux.yml b/.github/workflows/build-linux.yml new file mode 100644 index 000000000..881c2b268 --- /dev/null +++ b/.github/workflows/build-linux.yml @@ -0,0 +1,82 @@ +name: Build KytyPS5 (Linux) + +on: + workflow_dispatch: + push: + branches: [ main, master ] + pull_request: + +jobs: + build: + runs-on: ubuntu-24.04 + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + with: + submodules: recursive + + - name: Install build dependencies + shell: bash + run: | + sudo apt-get update + sudo apt-get install --no-install-recommends --yes \ + clang \ + glslang-tools \ + libgl1-mesa-dev \ + libx11-dev \ + libxcursor-dev \ + libxext-dev \ + libxfixes-dev \ + libxi-dev \ + libxrandr-dev \ + libxss-dev \ + lld \ + ninja-build + + - name: Install Qt 6.10.3 + uses: jurplel/install-qt-action@v4 + with: + version: "6.10.3" + host: linux + target: desktop + arch: linux_gcc_64 + cache: true + + - name: Verify toolchain + shell: bash + run: | + git --version + cmake --version + ninja --version + clang++ --version + ld.lld --version + glslangValidator --version + echo "Qt6_DIR=$Qt6_DIR" + + - name: Configure + shell: bash + run: | + cmake -S src -B _Build/linux \ + -G Ninja \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_C_COMPILER=clang \ + -DCMAKE_CXX_COMPILER=clang++ \ + -DCMAKE_PREFIX_PATH="$Qt6_DIR" + + - name: Build + shell: bash + run: | + cmake --build _Build/linux --target launcher --parallel + + - name: Install + shell: bash + run: | + cmake --install _Build/linux --prefix _Build/linux/install + + - name: Upload artifacts + uses: actions/upload-artifact@v4 + with: + name: KytyPS5-Linux + path: _Build/linux/install/** + if-no-files-found: error diff --git a/README.md b/README.md index f1b3564bf..7c817bf80 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,7 @@ # KytyPS5 +[![Windows Build](https://github.com/KytyPS5/KytyPS5/actions/workflows/build.yml/badge.svg)](https://github.com/KytyPS5/KytyPS5/actions/workflows/build.yml) +[![Linux Build](https://github.com/KytyPS5/KytyPS5/actions/workflows/build-linux.yml/badge.svg)](https://github.com/KytyPS5/KytyPS5/actions/workflows/build-linux.yml) [![Platform](https://img.shields.io/badge/platform-Windows%20x64-0078D4.svg)](#system-requirements) [![Status](https://img.shields.io/badge/status-early%20development-orange.svg)](#current-status) [![License](https://img.shields.io/badge/license-GPL--2.0-blue.svg)](LICENSE)