6
Some checks failed
Build Eden Emulator (Wine Native) / build-windows-wine (push) Failing after 12m25s
Some checks failed
Build Eden Emulator (Wine Native) / build-windows-wine (push) Failing after 12m25s
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
name: Build Eden Emulator
|
||||
name: Build Eden Emulator (Wine Native)
|
||||
|
||||
on:
|
||||
push:
|
||||
@@ -7,7 +7,7 @@ on:
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
build-windows:
|
||||
build-windows-wine:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
@@ -17,62 +17,66 @@ jobs:
|
||||
submodules: recursive
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Install dependencies
|
||||
- name: Install Wine and Dependencies
|
||||
run: |
|
||||
sudo dpkg --add-architecture i386
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y \
|
||||
build-essential \
|
||||
cmake \
|
||||
ninja-build \
|
||||
ccache \
|
||||
git \
|
||||
wget \
|
||||
python3 \
|
||||
python3-pip \
|
||||
mingw-w64 \
|
||||
wine64
|
||||
p7zip-full \
|
||||
wine \
|
||||
wine32 \
|
||||
wine64 \
|
||||
xvfb
|
||||
|
||||
- name: Setup ccache
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: ~/.ccache
|
||||
key: ${{ runner.os }}-ccache-windows-${{ github.sha }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-ccache-windows-
|
||||
# Configure Wine
|
||||
export DISPLAY=:99
|
||||
Xvfb :99 -screen 0 1024x768x16 &
|
||||
sleep 3
|
||||
wineboot --init || true
|
||||
sleep 5
|
||||
|
||||
- name: Setup CPM cache
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: .cache/cpm
|
||||
key: ${{ runner.os }}-cpm-${{ hashFiles('**/cpmfile.json') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-cpm-
|
||||
|
||||
- name: Install MinGW toolchain
|
||||
- name: Download Windows Tools
|
||||
run: |
|
||||
# Set up MinGW-w64 for cross-compilation
|
||||
sudo update-alternatives --set x86_64-w64-mingw32-gcc /usr/bin/x86_64-w64-mingw32-gcc-posix
|
||||
sudo update-alternatives --set x86_64-w64-mingw32-g++ /usr/bin/x86_64-w64-mingw32-g++-posix
|
||||
mkdir -p tools
|
||||
cd tools
|
||||
|
||||
- name: Configure CMake for Windows
|
||||
run: |
|
||||
cmake -S . -B build \
|
||||
-G "Ninja" \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DCMAKE_TOOLCHAIN_FILE=${{ github.workspace }}/.gitea/toolchains/mingw-w64-x86_64.cmake \
|
||||
-DYUZU_TESTS=OFF \
|
||||
-DENABLE_QT_TRANSLATION=ON \
|
||||
-DCMAKE_C_COMPILER_LAUNCHER=ccache \
|
||||
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache \
|
||||
-DYUZU_USE_BUNDLED_OPENSSL=ON \
|
||||
-DYUZU_USE_BUNDLED_FFMPEG=ON \
|
||||
-DYUZU_USE_BUNDLED_SDL2=ON \
|
||||
-DYUZU_USE_BUNDLED_QT=ON \
|
||||
-DYUZU_USE_CPM=ON
|
||||
# Download LLVM-MinGW (Windows Toolchain)
|
||||
wget https://github.com/mstorsjo/llvm-mingw/releases/download/20240619/llvm-mingw-20240619-ucrt-x86_64.zip
|
||||
unzip -q llvm-mingw-20240619-ucrt-x86_64.zip
|
||||
mv llvm-mingw-20240619-ucrt-x86_64 llvm
|
||||
|
||||
- name: Build Eden
|
||||
# Download CMake (Windows)
|
||||
wget https://github.com/Kitware/CMake/releases/download/v3.29.2/cmake-3.29.2-windows-x86_64.zip
|
||||
unzip -q cmake-3.29.2-windows-x86_64.zip
|
||||
mv cmake-3.29.2-windows-x86_64 cmake
|
||||
|
||||
# Download Ninja (Windows)
|
||||
wget https://github.com/ninja-build/ninja/releases/download/v1.12.1/ninja-win.zip
|
||||
unzip -q ninja-win.zip
|
||||
mkdir ninja
|
||||
mv ninja.exe ninja/
|
||||
|
||||
- name: Setup Environment
|
||||
run: |
|
||||
cmake --build build --parallel $(nproc)
|
||||
# Create a setup script to add tools to PATH in Wine
|
||||
echo "@echo off" > setup_env.bat
|
||||
echo "set PATH=Z:\home\runner\work\eden\eden\tools\llvm\bin;Z:\home\runner\work\eden\eden\tools\cmake\bin;Z:\home\runner\work\eden\eden\tools\ninja;%PATH%" >> setup_env.bat
|
||||
echo "set CC=clang" >> setup_env.bat
|
||||
echo "set CXX=clang++" >> setup_env.bat
|
||||
|
||||
- name: Configure (Wine Native)
|
||||
env:
|
||||
DISPLAY: :99
|
||||
run: |
|
||||
# We run cmake as if we are on Windows
|
||||
wine cmd /c "setup_env.bat && cmake -S . -B build -G Ninja -DCMAKE_BUILD_TYPE=Release -DYUZU_TESTS=OFF -DYUZU_USE_BUNDLED_OPENSSL=ON -DYUZU_USE_BUNDLED_FFMPEG=ON -DYUZU_USE_BUNDLED_SDL2=ON -DYUZU_USE_BUNDLED_QT=ON -DYUZU_USE_CPM=ON"
|
||||
|
||||
- name: Build (Wine Native)
|
||||
env:
|
||||
DISPLAY: :99
|
||||
run: |
|
||||
wine cmd /c "setup_env.bat && cmake --build build --config Release"
|
||||
|
||||
- name: Prepare artifacts
|
||||
run: |
|
||||
|
||||
Reference in New Issue
Block a user