Some checks failed
Build Eden Emulator / build-windows (push) Failing after 7m38s
71 lines
2.2 KiB
YAML
71 lines
2.2 KiB
YAML
name: Build Eden Emulator
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- dev
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
build-windows:
|
|
runs-on: windows-amd64
|
|
|
|
steps:
|
|
- name: Checkout repository
|
|
uses: actions/checkout@v4
|
|
with:
|
|
submodules: recursive
|
|
fetch-depth: 0
|
|
|
|
- name: Install dependencies
|
|
run: |
|
|
# Assuming chocolatey or winget is available, or just use what's on the runner.
|
|
# Many runners have CMake and Ninja pre-installed.
|
|
choco install ninja cmake -y --no-progress
|
|
|
|
- name: Configure CMake
|
|
shell: cmd
|
|
run: |
|
|
cmake -S . -B build -G "Visual Studio 18 2026" -DCMAKE_BUILD_TYPE=Release -DYUZU_TESTS=OFF -DENABLE_QT_TRANSLATION=ON -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 Eden
|
|
shell: cmd
|
|
run: |
|
|
cmake --build build --config Release --parallel
|
|
|
|
- name: Prepare artifacts
|
|
shell: bash
|
|
run: |
|
|
mkdir -p artifacts
|
|
|
|
# Copy the built executable
|
|
if [ -f build/bin/eden.exe ]; then # VS generator puts it in Release/ or similar
|
|
cp build/bin/Release/eden.exe artifacts/ || cp build/bin/eden.exe artifacts/
|
|
fi
|
|
|
|
# Copy any additional runtime files (DLLs)
|
|
# With bundled dependencies, they usually get copied to bin/
|
|
if [ -d build/bin ]; then
|
|
find build/bin -name "*.dll" -exec cp {} artifacts/ \;
|
|
fi
|
|
|
|
# Create a version file
|
|
echo "Build Date: $(date)" > artifacts/build_info.txt
|
|
echo "Commit: ${{ github.sha }}" >> artifacts/build_info.txt
|
|
echo "Branch: ${{ github.ref_name }}" >> artifacts/build_info.txt
|
|
|
|
- name: Upload build artifacts
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: eden-windows-${{ github.sha }}
|
|
path: artifacts/
|
|
retention-days: 30
|
|
|
|
- name: Upload executable only
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: eden-windows-exe
|
|
path: artifacts/eden.exe
|
|
retention-days: 30
|
|
if: success() && hashFiles('artifacts/eden.exe') != ''
|