summaryrefslogtreecommitdiffstats
path: root/.ci/scripts
diff options
context:
space:
mode:
Diffstat (limited to '.ci/scripts')
-rwxr-xr-x.ci/scripts/clang/docker.sh6
-rw-r--r--.ci/scripts/clang/exec.sh2
-rwxr-xr-x[-rw-r--r--].ci/scripts/clang/upload.sh0
-rw-r--r--.ci/scripts/common/post-upload.sh6
-rw-r--r--.ci/scripts/format/exec.sh2
-rwxr-xr-x.ci/scripts/linux/docker.sh9
-rw-r--r--.ci/scripts/linux/exec.sh2
-rwxr-xr-x[-rw-r--r--].ci/scripts/linux/upload.sh5
-rwxr-xr-x.ci/scripts/windows/docker.sh20
-rw-r--r--.ci/scripts/windows/exec.sh2
-rwxr-xr-x[-rw-r--r--].ci/scripts/windows/upload.sh0
11 files changed, 31 insertions, 23 deletions
diff --git a/.ci/scripts/clang/docker.sh b/.ci/scripts/clang/docker.sh
index 885d74e97..94a9ca0ec 100755
--- a/.ci/scripts/clang/docker.sh
+++ b/.ci/scripts/clang/docker.sh
@@ -3,14 +3,12 @@
# Exit on error, rather than continuing with the rest of the script.
set -e
-cd /yuzu
-
ccache -s
mkdir build || true && cd build
-cmake .. -DDISPLAY_VERSION=$1 -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_COMPILER=/usr/lib/ccache/clang -DCMAKE_CXX_COMPILER=/usr/lib/ccache/clang++ -DYUZU_ENABLE_COMPATIBILITY_REPORTING=${ENABLE_COMPATIBILITY_REPORTING:-"OFF"} -DENABLE_COMPATIBILITY_LIST_DOWNLOAD=ON -DUSE_DISCORD_PRESENCE=ON -DENABLE_QT_TRANSLATION=ON -DCMAKE_INSTALL_PREFIX="/usr"
+cmake .. -GNinja -DDISPLAY_VERSION=$1 -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_COMPILER=/usr/lib/ccache/clang -DCMAKE_CXX_COMPILER=/usr/lib/ccache/clang++ -DYUZU_ENABLE_COMPATIBILITY_REPORTING=${ENABLE_COMPATIBILITY_REPORTING:-"OFF"} -DENABLE_COMPATIBILITY_LIST_DOWNLOAD=ON -DUSE_DISCORD_PRESENCE=ON -DENABLE_QT_TRANSLATION=ON -DCMAKE_INSTALL_PREFIX="/usr"
-make -j$(nproc)
+ninja
ccache -s
diff --git a/.ci/scripts/clang/exec.sh b/.ci/scripts/clang/exec.sh
index e56cd4325..a213aac27 100644
--- a/.ci/scripts/clang/exec.sh
+++ b/.ci/scripts/clang/exec.sh
@@ -4,5 +4,5 @@ mkdir -p "ccache" || true
chmod a+x ./.ci/scripts/clang/docker.sh
# the UID for the container yuzu user is 1027
sudo chown -R 1027 ./
-docker run -e ENABLE_COMPATIBILITY_REPORTING -e CCACHE_DIR=/yuzu/ccache -v $(pwd):/yuzu yuzuemu/build-environments:linux-fresh /bin/bash /yuzu/.ci/scripts/clang/docker.sh $1
+docker run -e ENABLE_COMPATIBILITY_REPORTING -e CCACHE_DIR=/yuzu/ccache -v "$(pwd):/yuzu" -w /yuzu yuzuemu/build-environments:linux-fresh /bin/bash /yuzu/.ci/scripts/clang/docker.sh "$1"
sudo chown -R $UID ./
diff --git a/.ci/scripts/clang/upload.sh b/.ci/scripts/clang/upload.sh
index fe4e6b2ac..fe4e6b2ac 100644..100755
--- a/.ci/scripts/clang/upload.sh
+++ b/.ci/scripts/clang/upload.sh
diff --git a/.ci/scripts/common/post-upload.sh b/.ci/scripts/common/post-upload.sh
index 387431564..a4e3070fd 100644
--- a/.ci/scripts/common/post-upload.sh
+++ b/.ci/scripts/common/post-upload.sh
@@ -4,8 +4,10 @@
cp license.txt "$DIR_NAME"
cp README.md "$DIR_NAME"
-tar -cJvf "${REV_NAME}-source.tar.xz" src externals CMakeLists.txt README.md license.txt
-cp "${REV_NAME}-source.tar.xz" "$DIR_NAME"
+if [[ -z "${NO_SOURCE_PACK}" ]]; then
+ tar -cJvf "${REV_NAME}-source.tar.xz" src externals CMakeLists.txt README.md license.txt
+ cp -v "${REV_NAME}-source.tar.xz" "$DIR_NAME"
+fi
tar $COMPRESSION_FLAGS "$ARCHIVE_NAME" "$DIR_NAME"
diff --git a/.ci/scripts/format/exec.sh b/.ci/scripts/format/exec.sh
index e9e9d2e17..c50e90d66 100644
--- a/.ci/scripts/format/exec.sh
+++ b/.ci/scripts/format/exec.sh
@@ -3,5 +3,5 @@
chmod a+x ./.ci/scripts/format/docker.sh
# the UID for the container yuzu user is 1027
sudo chown -R 1027 ./
-docker run -v $(pwd):/yuzu yuzuemu/build-environments:linux-clang-format /bin/bash -ex /yuzu/.ci/scripts/format/docker.sh
+docker run -v "$(pwd):/yuzu" -w /yuzu yuzuemu/build-environments:linux-clang-format /bin/bash -ex /yuzu/.ci/scripts/format/docker.sh
sudo chown -R $UID ./
diff --git a/.ci/scripts/linux/docker.sh b/.ci/scripts/linux/docker.sh
index 5070b92d1..436155b3d 100755
--- a/.ci/scripts/linux/docker.sh
+++ b/.ci/scripts/linux/docker.sh
@@ -3,8 +3,6 @@
# Exit on error, rather than continuing with the rest of the script.
set -e
-cd /yuzu
-
ccache -s
mkdir build || true && cd build
@@ -19,15 +17,16 @@ cmake .. \
-DENABLE_QT_TRANSLATION=ON \
-DUSE_DISCORD_PRESENCE=ON \
-DYUZU_ENABLE_COMPATIBILITY_REPORTING=${ENABLE_COMPATIBILITY_REPORTING:-"OFF"} \
- -DYUZU_USE_BUNDLED_FFMPEG=ON
+ -DYUZU_USE_BUNDLED_FFMPEG=ON \
+ -GNinja
-make -j$(nproc)
+ninja
ccache -s
ctest -VV -C Release
-make install DESTDIR=AppDir
+DESTDIR="$PWD/AppDir" ninja install
rm -vf AppDir/usr/bin/yuzu-cmd AppDir/usr/bin/yuzu-tester
# Download tools needed to build an AppImage
diff --git a/.ci/scripts/linux/exec.sh b/.ci/scripts/linux/exec.sh
index a7deddeb3..fc4594d65 100644
--- a/.ci/scripts/linux/exec.sh
+++ b/.ci/scripts/linux/exec.sh
@@ -4,5 +4,5 @@ mkdir -p "ccache" || true
chmod a+x ./.ci/scripts/linux/docker.sh
# the UID for the container yuzu user is 1027
sudo chown -R 1027 ./
-docker run -e ENABLE_COMPATIBILITY_REPORTING -e CCACHE_DIR=/yuzu/ccache -v $(pwd):/yuzu yuzuemu/build-environments:linux-fresh /bin/bash /yuzu/.ci/scripts/linux/docker.sh $1
+docker run -e ENABLE_COMPATIBILITY_REPORTING -e CCACHE_DIR=/yuzu/ccache -v "$(pwd):/yuzu" -w /yuzu yuzuemu/build-environments:linux-fresh /bin/bash /yuzu/.ci/scripts/linux/docker.sh "$1"
sudo chown -R $UID ./
diff --git a/.ci/scripts/linux/upload.sh b/.ci/scripts/linux/upload.sh
index 208cd0d04..3f2c2f208 100644..100755
--- a/.ci/scripts/linux/upload.sh
+++ b/.ci/scripts/linux/upload.sh
@@ -24,6 +24,11 @@ cd build
wget -nc https://github.com/yuzu-emu/ext-linux-bin/raw/main/appimage/appimagetool-x86_64.AppImage
chmod 755 appimagetool-x86_64.AppImage
+# if FUSE is not available, then fallback to extract and run
+if ! ./appimagetool-x86_64.AppImage --version; then
+ export APPIMAGE_EXTRACT_AND_RUN=1
+fi
+
if [ "${RELEASE_NAME}" = "mainline" ]; then
# Generate update information if releasing to mainline
./appimagetool-x86_64.AppImage -u "gh-releases-zsync|yuzu-emu|yuzu-${RELEASE_NAME}|latest|yuzu-*.AppImage.zsync" AppDir "${APPIMAGE_NAME}"
diff --git a/.ci/scripts/windows/docker.sh b/.ci/scripts/windows/docker.sh
index f53d837d1..d670fe47d 100755
--- a/.ci/scripts/windows/docker.sh
+++ b/.ci/scripts/windows/docker.sh
@@ -2,19 +2,23 @@
set -e
-cd /yuzu
+#cd /yuzu
-ccache -s
+ccache -sv
-mkdir build || true && cd build
-LDFLAGS="-fuse-ld=lld"
+mkdir -p "$HOME/.conan/profiles"
+wget -c "https://github.com/yuzu-emu/build-environments/raw/master/linux-mingw/default" -O "$HOME/.conan/profiles/default"
+wget -c "https://github.com/yuzu-emu/build-environments/raw/master/linux-mingw/settings.yml" -O "$HOME/.conan/settings.yml"
+
+mkdir -p build && cd build
+export LDFLAGS="-fuse-ld=lld"
# -femulated-tls required due to an incompatibility between GCC and Clang
# TODO(lat9nq): If this is widespread, we probably need to add this to CMakeLists where appropriate
+export CXXFLAGS="-femulated-tls"
cmake .. \
-DCMAKE_BUILD_TYPE=Release \
- -DCMAKE_CXX_FLAGS="-femulated-tls" \
- -DCMAKE_TOOLCHAIN_FILE="$(pwd)/../CMakeModules/MinGWClangCross.cmake" \
- -DDISPLAY_VERSION=$1 \
+ -DCMAKE_TOOLCHAIN_FILE="${PWD}/../CMakeModules/MinGWClangCross.cmake" \
+ -DDISPLAY_VERSION="$1" \
-DENABLE_COMPATIBILITY_LIST_DOWNLOAD=ON \
-DENABLE_QT_TRANSLATION=ON \
-DUSE_CCACHE=ON \
@@ -23,7 +27,7 @@ cmake .. \
-GNinja
ninja yuzu yuzu-cmd
-ccache -s
+ccache -sv
echo "Tests skipped"
#ctest -VV -C Release
diff --git a/.ci/scripts/windows/exec.sh b/.ci/scripts/windows/exec.sh
index f904544bd..bf5c5fb63 100644
--- a/.ci/scripts/windows/exec.sh
+++ b/.ci/scripts/windows/exec.sh
@@ -4,5 +4,5 @@ mkdir -p "ccache" || true
chmod a+x ./.ci/scripts/windows/docker.sh
# the UID for the container yuzu user is 1027
sudo chown -R 1027 ./
-docker run -e CCACHE_DIR=/yuzu/ccache -v $(pwd):/yuzu yuzuemu/build-environments:linux-mingw /bin/bash -ex /yuzu/.ci/scripts/windows/docker.sh $1
+docker run -e CCACHE_DIR=/yuzu/ccache -v "$(pwd):/yuzu" -w /yuzu yuzuemu/build-environments:linux-mingw /bin/bash -ex /yuzu/.ci/scripts/windows/docker.sh "$1"
sudo chown -R $UID ./
diff --git a/.ci/scripts/windows/upload.sh b/.ci/scripts/windows/upload.sh
index 3c6a74218..3c6a74218 100644..100755
--- a/.ci/scripts/windows/upload.sh
+++ b/.ci/scripts/windows/upload.sh