# SPDX-FileCopyrightText: 2024 shadPS4 Emulator Project # SPDX-License-Identifier: GPL-2.0-or-later name: Linux on: push: branches: [ "main" ] pull_request: branches: [ "main" ] workflow_dispatch: env: # Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.) BUILD_TYPE: Release CLANG_VER: 18 jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 with: submodules: recursive - name: Install misc packages run: > sudo apt-get update && sudo apt install libx11-dev libgl1-mesa-glx mesa-common-dev libfuse2 libwayland-dev libxxhash-dev libvulkan-dev - name: Install newer Clang run: | wget https://apt.llvm.org/llvm.sh chmod +x ./llvm.sh sudo ./llvm.sh ${{env.CLANG_VER}} - name: Configure CMake run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DCMAKE_C_COMPILER=clang-${{env.CLANG_VER}} -DCMAKE_CXX_COMPILER=clang++-${{env.CLANG_VER}} - name: Build run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} --parallel - name: Upload executable uses: actions/upload-artifact@v4 with: name: shadps4-ubuntu64 path: | ${{github.workspace}}/build/shadps4 ${{github.workspace}}/build/libSDL3.so.0.0.0 - name: Run AppImage packaging script run: ./.github/linux-appimage-sdl.sh - name: Upload executable uses: actions/upload-artifact@v4 with: name: shadps4-sdl-appimage path: Shadps4-sdl.AppImage