Updated CI for GH Actions Builds
Some checks failed
eden-build / source (push) Successful in 3m45s
eden-build / android (push) Successful in 23m37s
eden-build / linux (push) Successful in 20m43s
eden-build / windows (msvc) (push) Failing after 15m29s

Signed-off-by: crueter <swurl@swurl.xyz>
This commit is contained in:
crueter 2025-06-28 22:11:38 -04:00
parent 726e1e756d
commit a1087ddec8
No known key found for this signature in database
GPG key ID: A5A7629F109C8FD1
9 changed files with 166 additions and 51 deletions

View file

@ -1,36 +1,53 @@
#!/bin/bash -ex
#!/bin/bash -e
# SPDX-FileCopyrightText: 2025 eden Emulator Project
# SPDX-License-Identifier: GPL-3.0-or-later
export ARCH="$(uname -m)"
if [ "$ARCH" = 'x86_64' ]; then
if [ "$1" = 'v3' ]; then
echo "Making x86-64-v3 optimized build of eden"
ARCH="${ARCH}_v3"
ARCH_FLAGS="-march=x86-64-v3 -O3"
else
echo "Making x86-64 generic build of eden"
ARCH_FLAGS="-march=x86-64 -mtune=generic -O3"
fi
case "$1" in
amd64|"")
echo "Making amd64-v3 optimized build of Eden"
ARCH="amd64_v3"
ARCH_FLAGS="-march=x86-64-v3"
;;
steamdeck)
echo "Making Steam Deck (Zen 2) optimized build of Eden"
ARCH="steamdeck"
ARCH_FLAGS="-march=znver2 -mtune=znver2"
;;
rog-ally|allyx)
echo "Making ROG Ally X (Zen 4) optimized build of Eden"
ARCH="rog-ally-x"
ARCH_FLAGS="-march=znver3 -mtune=znver4" # GH actions runner is a Zen 3 CPU, so a small workaround
;;
legacy)
echo "Making amd64 generic build of Eden"
ARCH=amd64
ARCH_FLAGS="-march=x86-64 -mtune=generic"
;;
aarch64)
echo "Making armv8-a build of Eden"
ARCH=aarch64
ARCH_FLAGS="-march=armv8-a -mtune=generic -w"
;;
armv9)
echo "Making armv9-a build of Eden"
ARCH=armv9
ARCH_FLAGS="-march=armv9-a -mtune=generic -w"
;;
esac
if [ "$1" != '' ]; then
shift
fi
else
echo "Making aarch64 build of eden"
ARCH_FLAGS="-march=armv8-a -mtune=generic -O3"
fi
export ARCH_FLAGS="$ARCH_FLAGS -O3"
NPROC="$1"
NPROC="$2"
if [ -z "$NPROC" ]; then
NPROC="$(nproc)"
else
shift
fi
if [ "$1" != "" ]; then shift; fi
if [ "$TARGET" = "appimage" ]; then
export EXTRA_CMAKE_FLAGS=(-DCMAKE_INSTALL_PREFIX=/usr -DYUZU_ROOM=ON -DYUZU_ROOM_STANDALONE=OFF -DYUZU_CMD=OFF)

View file

@ -1,4 +1,4 @@
#!/bin/sh -ex
#!/bin/sh -e
# SPDX-FileCopyrightText: 2025 eden Emulator Project
# SPDX-License-Identifier: GPL-3.0-or-later
@ -7,18 +7,38 @@
export APPIMAGE_EXTRACT_AND_RUN=1
export BASE_ARCH="$(uname -m)"
export ARCH="$BASE_ARCH"
export BUILDDIR="$2"
SHARUN="https://github.com/VHSgunzo/sharun/releases/latest/download/sharun-${BASE_ARCH}-aio"
URUNTIME="https://github.com/VHSgunzo/uruntime/releases/latest/download/uruntime-appimage-dwarfs-${BASE_ARCH}"
if [ "$ARCH" = 'x86_64' ]; then
if [ "$1" = 'v3' ]; then
ARCH="${ARCH}_v3"
fi
fi
case "$1" in
amd64|"")
echo "Packaging amd64-v3 optimized build of Eden"
ARCH="amd64_v3"
;;
steamdeck)
echo "Packaging Steam Deck (Zen 2) optimized build of Eden"
ARCH="steamdeck"
;;
rog-ally|allyx)
echo "Packaging ROG Ally X (Zen 4) optimized build of Eden"
ARCH="rog-ally-x"
;;
legacy)
echo "Packaging amd64 generic build of Eden"
ARCH=amd64
;;
aarch64)
echo "Packaging armv8-a build of Eden"
ARCH=aarch64
;;
armv9)
echo "Packaging armv9-a build of Eden"
ARCH=armv9
;;
esac
export BUILDDIR="$2"
if [ "$BUILDDIR" = '' ]
then
@ -26,7 +46,7 @@ then
fi
EDEN_TAG=$(git describe --tags --abbrev=0)
echo "Making stable \"$EDEN_TAG\" build"
echo "Making \"$EDEN_TAG\" build"
# git checkout "$EDEN_TAG"
VERSION="$(echo "$EDEN_TAG")"
@ -39,14 +59,13 @@ cp ../dist/org.eden_emu.eden.svg .
ln -sf ./org.eden_emu.eden.svg ./.DirIcon
# TODO(crueter): Nightly
UPINFO='gh-releases-zsync|eden-emulator|Releases|latest|*.AppImage.zsync'
if [ "$DEVEL" = 'true' ]; then
sed -i 's|Name=Eden|Name=Eden Nightly|' ./org.eden_emu.eden.desktop
UPINFO="$(echo "$UPINFO" | sed 's|latest|nightly|')"
UPINFO="$(echo "$UPINFO" | sed 's|Releases|nightly|')"
fi
UPINFO='gh-releases-zsync|eden-emulator|Releases|latest|*.AppImage.zsync'
LIBDIR="/usr/lib"
# Workaround for Gentoo
@ -68,7 +87,7 @@ chmod +x ./sharun-aio
xvfb-run -a ./sharun-aio l -p -v -e -s -k \
../$BUILDDIR/bin/eden* \
$LIBDIR/lib*GL*.so* \
$LIBDIR/libSDL2*.so* \
$LIBDIR/libSDL2*.so* \
$LIBDIR/dri/* \
$LIBDIR/vdpau/* \
$LIBDIR/libvulkan* \