we testing build now
Some checks failed
Build Eden Emulator / Build Windows (MinGW Cross-Compile) (push) Failing after 4m47s
Build Eden Emulator / Build Linux (push) Failing after 17m54s

This commit is contained in:
2025-12-26 21:26:29 -03:00
parent b5c86787ab
commit 22c2044e95

180
.gitea/workflows/build.yml Normal file
View File

@@ -0,0 +1,180 @@
name: Build Eden Emulator
on:
push:
branches:
- dev
workflow_dispatch:
jobs:
build-linux:
name: Build Linux
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
submodules: recursive
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y \
autoconf cmake g++ gcc git glslang-tools \
libglu1-mesa-dev libhidapi-dev libpulse-dev \
libtool libudev-dev libxcb-icccm4 libxcb-image0 \
libxcb-keysyms1 libxcb-render-util0 libxcb-xinerama0 \
libxcb-xkb1 libxext-dev libxkbcommon-x11-0 \
mesa-common-dev nasm ninja-build qt6-base-private-dev \
libmbedtls-dev catch2 libfmt-dev liblz4-dev \
nlohmann-json3-dev libzstd-dev libssl-dev \
libavfilter-dev libavcodec-dev libswscale-dev \
pkg-config zlib1g-dev libva-dev libvdpau-dev \
qt6-tools-dev libvulkan-dev spirv-tools spirv-headers \
libusb-1.0-0-dev libxbyak-dev libboost-dev \
libboost-fiber-dev libboost-context-dev libsdl2-dev \
libopus-dev vulkan-utility-libraries-dev
- name: Configure CMake
run: |
cmake -S . -B build -G "Ninja" \
-DCMAKE_BUILD_TYPE=Release \
-DYUZU_TESTS=OFF \
-DENABLE_QT_TRANSLATION=OFF
- name: Build Eden
run: |
cmake --build build --parallel $(nproc)
- name: Package Artifacts
run: |
mkdir -p artifacts
cp build/bin/eden artifacts/ || echo "eden not found"
cp build/bin/eden-cmd artifacts/ || echo "eden-cmd not found"
if [ -f artifacts/eden ]; then
chmod +x artifacts/eden
fi
if [ -f artifacts/eden-cmd ]; then
chmod +x artifacts/eden-cmd
fi
# Create version info
echo "Eden Emulator - Linux Build" > artifacts/VERSION.txt
echo "Build Date: $(date)" >> artifacts/VERSION.txt
echo "Commit: $(git rev-parse --short HEAD)" >> artifacts/VERSION.txt
- name: Create tarball
run: |
cd artifacts
tar -czf ../eden-linux-x64.tar.gz .
cd ..
- name: Upload Linux Build
uses: actions/upload-artifact@v4
with:
name: eden-linux-x64
path: eden-linux-x64.tar.gz
retention-days: 30
build-windows-mingw:
name: Build Windows (MinGW Cross-Compile)
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
submodules: recursive
- name: Install MinGW and dependencies
run: |
sudo apt-get update
sudo apt-get install -y \
mingw-w64 g++-mingw-w64-x86-64 gcc-mingw-w64-x86-64 \
cmake ninja-build git nasm autoconf libtool \
pkg-config python3 wget unzip
- name: Set up MinGW toolchain
run: |
cat > mingw-toolchain.cmake << EOF
set(CMAKE_SYSTEM_NAME Windows)
set(CMAKE_SYSTEM_PROCESSOR x86_64)
set(CMAKE_C_COMPILER x86_64-w64-mingw32-gcc)
set(CMAKE_CXX_COMPILER x86_64-w64-mingw32-g++)
set(CMAKE_RC_COMPILER x86_64-w64-mingw32-windres)
set(CMAKE_FIND_ROOT_PATH /usr/x86_64-w64-mingw32)
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
set(CMAKE_CROSSCOMPILING_EMULATOR wine64)
EOF
- name: Configure CMake for Windows
run: |
cmake -S . -B build-windows \
-DCMAKE_TOOLCHAIN_FILE=mingw-toolchain.cmake \
-G "Ninja" \
-DCMAKE_BUILD_TYPE=Release \
-DYUZU_TESTS=OFF \
-DENABLE_QT_TRANSLATION=OFF \
-DENABLE_QT=OFF \
-DYUZU_CMD=ON \
-DENABLE_SDL2=ON \
-DYUZU_USE_BUNDLED_SDL2=ON \
-DYUZU_USE_BUNDLED_FFMPEG=ON \
-DYUZU_USE_CPM=ON || echo "Configure failed, this is expected with limited MinGW support"
- name: Build Eden for Windows
run: |
cmake --build build-windows --parallel $(nproc) || echo "Build may have issues with MinGW cross-compilation"
continue-on-error: true
- name: Package Windows Artifacts
run: |
mkdir -p artifacts-windows
if [ -f build-windows/bin/eden.exe ]; then
cp build-windows/bin/eden.exe artifacts-windows/
echo "eden.exe found and copied"
fi
if [ -f build-windows/bin/eden-cmd.exe ]; then
cp build-windows/bin/eden-cmd.exe artifacts-windows/
echo "eden-cmd.exe found and copied"
fi
# Copy any DLLs
find build-windows/bin -name "*.dll" -exec cp {} artifacts-windows/ \; 2>/dev/null || true
# Create version info
echo "Eden Emulator - Windows Build (MinGW)" > artifacts-windows/VERSION.txt
echo "Build Date: $(date)" >> artifacts-windows/VERSION.txt
echo "Commit: $(git rev-parse --short HEAD)" >> artifacts-windows/VERSION.txt
echo "Note: Cross-compiled with MinGW on Linux" >> artifacts-windows/VERSION.txt
# Check if we have any executables
if [ -f artifacts-windows/eden.exe ] || [ -f artifacts-windows/eden-cmd.exe ]; then
echo "Windows build successful"
cd artifacts-windows
zip -r ../eden-windows-x64-mingw.zip .
cd ..
else
echo "No Windows executables produced - MinGW cross-compilation may not be fully supported"
echo "This is expected - Eden emulator is complex and may require native Windows build" > artifacts-windows/BUILD_FAILED.txt
cd artifacts-windows
zip -r ../eden-windows-x64-mingw.zip .
cd ..
fi
continue-on-error: true
- name: Upload Windows Build
if: always()
uses: actions/upload-artifact@v4
with:
name: eden-windows-x64-mingw
path: eden-windows-x64-mingw.zip
retention-days: 30