Skip to content

Build RPCSX

Build RPCSX #263

Workflow file for this run

name: Build RPCSX
on:
workflow_dispatch:
jobs:
build-rpcsx:
runs-on: ubuntu-latest
env:
clang_ver: 17
steps:
- name: Checkout
uses: actions/checkout@v4
with:
repository: RPCSX/rpcsx # qurious-pixel/rpcsx #
ref: master # devel # v20231111 #
submodules: recursive
- name: Checkout AppImage Repo
uses: actions/checkout@v4
with:
clean: false
path: ci
- name: Checkout UI Repo
uses: actions/checkout@v4
with:
repository: qurious-pixel/RPCSX_UI_REDESIGN
ref: pkg_extract
clean: false
path: ui
- name: Setup dependencies
run: |
sudo apt update
sudo apt install -y cmake build-essential libunwind-dev yad \
libglfw3-dev libvulkan-dev vulkan-validationlayers-dev libsox-dev \
spirv-tools glslang-tools libspirv-cross-c-shared-dev libfuse2 ninja-build \
qt6-base-dev
echo "deb http://azure.archive.ubuntu.com/ubuntu noble main universe" | sudo tee /etc/apt/sources.list
sudo apt update
sudo apt install g++-14
- name: Setup Clang
run: |
wget https://apt.llvm.org/llvm.sh
chmod +x ./llvm.sh
sudo ./llvm.sh ${{ env.clang_ver }}
- name: Setup Vulkan Headers
run: |
VULKANVER=1.3.290
curl -sSfLo Vulkan-Headers.tar.gz https://github.com/KhronosGroup/Vulkan-Headers/archive/v${VULKANVER}.tar.gz
tar -xf Vulkan-Headers*.tar.gz
cd Vulkan-Headers*/
mkdir build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_COMPILER=g++-14 -DCMAKE_INSTALL_PREFIX=/usr -GNinja
make -j$(nproc)
sudo make install
- name: Setup SPIRV Cross
run: |
git clone https://github.com/KhronosGroup/SPIRV-Cross
cd SPIRV-Cross
mkdir build && cd build
cmake ..
cmake --build .
sudo make install
- name: Setup Cryptopp
run: |
git clone https://github.com/weidai11/cryptopp.git
cd cryptopp
make -j$(nproc) && sudo make install
- name: Setup Zlib-ng
run: |
git clone https://github.com/zlib-ng/zlib-ng.git
cd zlib-ng
./configure && make -j$(nproc) && sudo make install
- name: Build RPCSX
run: |
cmake -Bbuild -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_COMPILER=g++-14 -GNinja && \
cmake --build build --parallel
ls -al build/bin
- name: Build RPCSX UI
run: |
cd ui/
/usr/lib/qt6/bin/qmake
CXX=clang++-${{ env.clang_ver }} make -j$(nproc)
- name: Package RPCSX AppImage
run: |
chmod +x ci/.github/assets/appimage.sh
ci/.github/assets/appimage.sh
mkdir -p artifacts
cp rpcsx.AppImage artifacts/
#cp build/bin/rpcsx-* artifacts/
- name: Upload RPCSX
uses: actions/upload-artifact@v4
with:
name: rpcsx
path: artifacts
if-no-files-found: error