mirror of
https://github.com/wheremyfoodat/Panda3DS.git
synced 2025-04-06 06:05:40 +12:00
215 lines
7.1 KiB
YAML
215 lines
7.1 KiB
YAML
name: Hydra Core Build
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- master
|
|
pull_request:
|
|
|
|
env:
|
|
# Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.)
|
|
BUILD_TYPE: Release
|
|
|
|
jobs:
|
|
Windows:
|
|
runs-on: windows-latest
|
|
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- name: Fetch submodules
|
|
run: git submodule update --init --recursive
|
|
|
|
- name: Setup Vulkan SDK
|
|
uses: humbletim/setup-vulkan-sdk@v1.2.0
|
|
with:
|
|
vulkan-query-version: 1.3.296.0
|
|
vulkan-use-cache: true
|
|
vulkan-components: Vulkan-Headers, Vulkan-Loader, SPIRV-Tools, Glslang
|
|
|
|
- name: Configure CMake
|
|
run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DENABLE_USER_BUILD=ON -DBUILD_HYDRA_CORE=ON
|
|
|
|
- name: Build
|
|
run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}}
|
|
|
|
- name: Upload Hydra core
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: Windows Hydra core
|
|
path: '${{github.workspace}}/build/${{ env.BUILD_TYPE }}/Alber.dll'
|
|
|
|
- name: Configure CMake (Again)
|
|
run: |
|
|
rm -r -fo ${{github.workspace}}/build
|
|
cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DENABLE_USER_BUILD=ON -DBUILD_LIBRETRO_CORE=ON
|
|
|
|
- name: Build (Again)
|
|
run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}}
|
|
|
|
- name: Upload Libretro core
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: Windows Libretro core
|
|
path: |
|
|
${{github.workspace}}/build/${{ env.BUILD_TYPE }}/panda3ds_libretro.dll
|
|
${{github.workspace}}/docs/libretro/panda3ds_libretro.info
|
|
|
|
MacOS:
|
|
runs-on: macos-latest
|
|
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- name: Fetch submodules
|
|
run: git submodule update --init --recursive
|
|
|
|
- name: Setup Vulkan SDK
|
|
uses: humbletim/setup-vulkan-sdk@v1.2.0
|
|
with:
|
|
vulkan-query-version: 1.3.296.0
|
|
vulkan-use-cache: true
|
|
vulkan-components: Vulkan-Headers, Vulkan-Loader, SPIRV-Tools, Glslang
|
|
|
|
- name: Configure CMake
|
|
run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DENABLE_USER_BUILD=ON -DBUILD_HYDRA_CORE=ON -DCMAKE_OSX_ARCHITECTURE=x86_64
|
|
|
|
- name: Build
|
|
run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}}
|
|
|
|
- name: Upload core
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: MacOS Hydra core
|
|
path: '${{github.workspace}}/build/libAlber.dylib'
|
|
|
|
- name: Configure CMake (Again)
|
|
run: |
|
|
rm -rf ${{github.workspace}}/build
|
|
cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DENABLE_USER_BUILD=ON -DBUILD_LIBRETRO_CORE=ON -DCMAKE_OSX_ARCHITECTURE=x86_64
|
|
|
|
- name: Build (Again)
|
|
run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} && ls -R ${{github.workspace}}/build
|
|
|
|
- name: Upload Libretro core
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: MacOS Libretro core
|
|
path: |
|
|
${{github.workspace}}/build/panda3ds_libretro.dylib
|
|
${{github.workspace}}/docs/libretro/panda3ds_libretro.info
|
|
|
|
Linux:
|
|
runs-on: ubuntu-24.04
|
|
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- name: Fetch submodules
|
|
run: git submodule update --init --recursive
|
|
|
|
- name: Install misc packages
|
|
run: |
|
|
sudo apt-get update && sudo apt install libx11-dev libgl1 libglx-mesa0 mesa-common-dev libfuse2 libwayland-dev
|
|
|
|
- name: Install newer Clang
|
|
run: |
|
|
wget https://apt.llvm.org/llvm.sh
|
|
chmod +x ./llvm.sh
|
|
sudo ./llvm.sh 17
|
|
|
|
- name: Setup Vulkan SDK
|
|
uses: humbletim/setup-vulkan-sdk@v1.2.0
|
|
with:
|
|
vulkan-query-version: 1.3.296.0
|
|
vulkan-use-cache: true
|
|
vulkan-components: Vulkan-Headers, Vulkan-Loader, SPIRV-Tools, Glslang
|
|
|
|
- name: Configure CMake
|
|
run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DCMAKE_C_COMPILER=clang-17 -DCMAKE_CXX_COMPILER=clang++-17 -DENABLE_USER_BUILD=ON -DBUILD_HYDRA_CORE=ON
|
|
|
|
- name: Build
|
|
run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}}
|
|
|
|
- name: Upload core
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: Linux Hydra core
|
|
path: '${{github.workspace}}/build/libAlber.so'
|
|
|
|
- name: Configure CMake (Again)
|
|
run: |
|
|
rm -rf ${{github.workspace}}/build
|
|
cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DCMAKE_C_COMPILER=clang-17 -DCMAKE_CXX_COMPILER=clang++-17 -DENABLE_USER_BUILD=ON -DBUILD_LIBRETRO_CORE=ON
|
|
|
|
- name: Build (Again)
|
|
run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}}
|
|
|
|
- name: Upload Libretro core
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: Linux Libretro core
|
|
path: |
|
|
${{github.workspace}}/build/panda3ds_libretro.so
|
|
${{github.workspace}}/docs/libretro/panda3ds_libretro.info
|
|
|
|
Android-x64:
|
|
runs-on: ubuntu-24.04
|
|
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- name: Fetch submodules
|
|
run: git submodule update --init --recursive
|
|
|
|
- name: Install misc packages
|
|
run: |
|
|
sudo apt-get update && sudo apt install libx11-dev libgl1 libglx-mesa0 mesa-common-dev libfuse2 libwayland-dev
|
|
|
|
- name: Setup Vulkan SDK
|
|
uses: humbletim/setup-vulkan-sdk@v1.2.0
|
|
with:
|
|
vulkan-query-version: 1.3.296.0
|
|
vulkan-use-cache: true
|
|
vulkan-components: Vulkan-Headers, Vulkan-Loader, SPIRV-Tools, Glslang
|
|
|
|
- name: Configure CMake
|
|
run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DCMAKE_TOOLCHAIN_FILE=${ANDROID_NDK_ROOT}/build/cmake/android.toolchain.cmake -DANDROID_ABI=x86_64 -DBUILD_HYDRA_CORE=1 -DENABLE_VULKAN=0
|
|
|
|
- name: Build
|
|
run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}}
|
|
|
|
- name: Upload core
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: Android Hydra core
|
|
path: '${{github.workspace}}/build/libAlber.so'
|
|
|
|
ARM-Libretro:
|
|
runs-on: ubuntu-24.04-arm
|
|
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- name: Fetch submodules
|
|
run: git submodule update --init --recursive
|
|
|
|
- name: Install misc packages
|
|
run: |
|
|
sudo apt-get update && sudo apt install libx11-dev libxext-dev libgl1 libglx-mesa0 mesa-common-dev libfuse2 libwayland-dev
|
|
|
|
- name: Install newer Clang
|
|
run: |
|
|
wget https://apt.llvm.org/llvm.sh
|
|
chmod +x ./llvm.sh
|
|
sudo ./llvm.sh 17
|
|
|
|
- name: Configure CMake
|
|
run: |
|
|
cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DCMAKE_C_COMPILER=clang-17 -DCMAKE_CXX_COMPILER=clang++-17 -DENABLE_USER_BUILD=ON -DBUILD_LIBRETRO_CORE=ON -DENABLE_VULKAN=OFF -DCRYPTOPP_OPT_DISABLE_ASM=ON
|
|
|
|
- name: Build
|
|
run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}}
|
|
|
|
- name: Upload Libretro core
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: Linux arm64 Libretro core
|
|
path: |
|
|
${{github.workspace}}/build/panda3ds_libretro.so
|
|
${{github.workspace}}/docs/libretro/panda3ds_libretro.info
|