Skip to content
Snippets Groups Projects
Commit ba5b604f authored by niansa's avatar niansa Committed by MattTheTekie
Browse files

Port original Linux CI code to Gitlab

parent e183fcaf
No related branches found
No related tags found
No related merge requests found
...@@ -17,8 +17,8 @@ cmake .. \ ...@@ -17,8 +17,8 @@ cmake .. \
-DCMAKE_C_COMPILER=/usr/lib/ccache/gcc \ -DCMAKE_C_COMPILER=/usr/lib/ccache/gcc \
-DCMAKE_INSTALL_PREFIX="/usr" \ -DCMAKE_INSTALL_PREFIX="/usr" \
-DDISPLAY_VERSION=$1 \ -DDISPLAY_VERSION=$1 \
-DENABLE_COMPATIBILITY_LIST_DOWNLOAD=ON \ -DENABLE_COMPATIBILITY_LIST_DOWNLOAD=OFF \
-DENABLE_QT_TRANSLATION=ON \ -DENABLE_QT_TRANSLATION=OFF \
-DUSE_DISCORD_PRESENCE=ON \ -DUSE_DISCORD_PRESENCE=ON \
-DYUZU_ENABLE_COMPATIBILITY_REPORTING=${ENABLE_COMPATIBILITY_REPORTING:-"OFF"} \ -DYUZU_ENABLE_COMPATIBILITY_REPORTING=${ENABLE_COMPATIBILITY_REPORTING:-"OFF"} \
-DYUZU_USE_BUNDLED_FFMPEG=ON \ -DYUZU_USE_BUNDLED_FFMPEG=ON \
...@@ -49,9 +49,10 @@ DESTDIR="$PWD/AppDir" ninja install ...@@ -49,9 +49,10 @@ DESTDIR="$PWD/AppDir" ninja install
rm -vf AppDir/usr/bin/yuzu-cmd AppDir/usr/bin/yuzu-tester rm -vf AppDir/usr/bin/yuzu-cmd AppDir/usr/bin/yuzu-tester
# Download tools needed to build an AppImage # Download tools needed to build an AppImage
wget -nc https://raw.githubusercontent.com/yuzu-emu/ext-linux-bin/main/appimage/deploy-linux.sh wget -nc https://gitlab.com/suyu-emu/ext-linux-bin/-/raw/main/appimage/deploy-linux.sh
wget -nc https://raw.githubusercontent.com/yuzu-emu/AppImageKit-checkrt/old/AppRun.sh wget -nc https://gitlab.com/suyu-emu/ext-linux-bin/-/raw/main/appimage/exec-x86_64.so
wget -nc https://github.com/yuzu-emu/ext-linux-bin/raw/main/appimage/exec-x86_64.so wget -nc https://gitlab.com/suyu-emu/AppImageKit-checkrt/-/raw/old/AppRun.sh
# Set executable bit # Set executable bit
chmod 755 \ chmod 755 \
deploy-linux.sh \ deploy-linux.sh \
......
...@@ -27,7 +27,7 @@ fi ...@@ -27,7 +27,7 @@ fi
# Build an AppImage # Build an AppImage
cd build cd build
wget -nc https://github.com/yuzu-emu/ext-linux-bin/raw/main/appimage/appimagetool-x86_64.AppImage wget -nc https://gitlab.com/suyu-emu/ext-linux-bin/-/raw/main/appimage/appimagetool-x86_64.AppImage
chmod 755 appimagetool-x86_64.AppImage chmod 755 appimagetool-x86_64.AppImage
# if FUSE is not available, then fallback to extract and run # if FUSE is not available, then fallback to extract and run
......
# This file is a template, and might need editing before it works on your project. stages:
# This is a sample GitLab CI/CD configuration file that should run without any modifications.
# It demonstrates a basic 3 stage CI/CD pipeline. Instead of real tests or scripts,
# it uses echo commands to simulate the pipeline execution.
#
# A pipeline is composed of independent jobs that run scripts, grouped into stages.
# Stages run in sequential order, but jobs within stages run in parallel.
#
# For more information, see: https://docs.gitlab.com/ee/ci/yaml/index.html#stages
#
# You can copy and paste this template into a new `.gitlab-ci.yml` file.
# You should not add this template to an existing `.gitlab-ci.yml` file by using the `include:` keyword.
#
# To contribute improvements to CI/CD templates, please follow the Development guide at:
# https://docs.gitlab.com/ee/development/cicd/templates.html
# This specific template is located at:
# https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/Getting-Started.gitlab-ci.yml
stages: # List of stages for jobs, and their order of execution
- build - build
build-ubuntu: # This job runs in the build stage, which runs first. build-linux:
stage: build stage: build
image: ubuntu:latest # Maybe replace with image with more required dependencies image: debian:trixie # Maybe replace with image with more required dependencies
resource_group: linux-ci
variables:
RELEASE_NAME: mainline
before_script: before_script:
- apt update --yes - apt-get update --yes
- apt install --yes cmake gcc g++ git - apt-get install --yes wget ccache cmake gcc g++ nasm git patchelf xz-utils ninja-build autoconf glslang-tools pkg-config catch2 libtool nlohmann-json3-dev qtbase5-dev qtbase5-private-dev qtmultimedia5-dev libqt5gui5 libva-dev libavcodec-dev libavfilter-dev libboost-dev libboost-context-dev libfmt-dev zlib1g-dev libzstd-dev libcurl4-openssl-dev liblz4-dev llvm-17-dev libedit-dev libssl-dev mesa-common-dev libzydis-dev libusb-dev libpulse-dev
script:
- echo "Compiling the code..."
- git submodule update --init --recursive
- ls -la
# TODO: Add build instructions for linux
- echo "Compile complete."
build-win:
stage: build
tags:
- shared-windows
- windows
- windows-1809
script: script:
- echo "Compiling the code..." - git submodule update --init --depth 1 --recursive
- dir - bash .ci/scripts/linux/docker.sh
# TODO: Add build instructions for windows - bash .ci/scripts/linux/upload.sh
- echo "Compile complete." artifacts:
\ No newline at end of file paths:
- artifacts/*
...@@ -8,8 +8,8 @@ Name=suyu ...@@ -8,8 +8,8 @@ Name=suyu
GenericName=Switch Emulator GenericName=Switch Emulator
Comment=Nintendo Switch video game console emulator Comment=Nintendo Switch video game console emulator
Icon=org.suyu_emu.suyu Icon=org.suyu_emu.suyu
TryExec=suyu TryExec=yuzu
Exec=suyu %f Exec=yuzu %f
Categories=Game;Emulator;Qt; Categories=Game;Emulator;Qt;
MimeType=application/x-nx-nro;application/x-nx-nso;application/x-nx-nsp;application/x-nx-xci; MimeType=application/x-nx-nro;application/x-nx-nso;application/x-nx-nsp;application/x-nx-xci;
Keywords=Nintendo;Switch; Keywords=Nintendo;Switch;
......
...@@ -50,8 +50,8 @@ static void PruneDumpDirectory(const std::filesystem::path& dump_path) { ...@@ -50,8 +50,8 @@ static void PruneDumpDirectory(const std::filesystem::path& dump_path) {
} }
#if defined(__linux__) #if defined(__linux__)
[[noreturn]] bool DumpCallback(const google_breakpad::MinidumpDescriptor& descriptor, void* context, [[noreturn]] static bool DumpCallback(const google_breakpad::MinidumpDescriptor& descriptor, void* context,
bool succeeded) { bool succeeded) {
// Prevent time- and space-consuming core dumps from being generated, as we have // Prevent time- and space-consuming core dumps from being generated, as we have
// already generated a minidump and a core file will not be useful anyway. // already generated a minidump and a core file will not be useful anyway.
_exit(1); _exit(1);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment