From a1815b617ceebf9a0a43c6fb89a13ac7f37f9ba4 Mon Sep 17 00:00:00 2001 From: liushuyu Date: Wed, 22 Dec 2021 23:31:57 -0700 Subject: CI: Use GitHub Actions to check pull requests --- .ci/scripts/clang/docker.sh | 2 -- .ci/scripts/linux/docker.sh | 2 -- .ci/scripts/windows/docker.sh | 17 +++++++++++------ 3 files changed, 11 insertions(+), 10 deletions(-) (limited to '.ci') diff --git a/.ci/scripts/clang/docker.sh b/.ci/scripts/clang/docker.sh index 885d74e97..4bb07105a 100755 --- a/.ci/scripts/clang/docker.sh +++ b/.ci/scripts/clang/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 diff --git a/.ci/scripts/linux/docker.sh b/.ci/scripts/linux/docker.sh index 5070b92d1..38b29294c 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 diff --git a/.ci/scripts/windows/docker.sh b/.ci/scripts/windows/docker.sh index f53d837d1..6420c8f7d 100755 --- a/.ci/scripts/windows/docker.sh +++ b/.ci/scripts/windows/docker.sh @@ -2,19 +2,24 @@ set -e -cd /yuzu +#cd /yuzu ccache -s -mkdir build || true && cd build -LDFLAGS="-fuse-ld=lld" +mkdir -p "$HOME/.conan/" +cp -rv /home/yuzu/.conan/profiles/ "$HOME/.conan/" +cp -rv /home/yuzu/.conan/settings.yml "$HOME/.conan/" + +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 CFLAGS="-femulated-tls" +export CXXFLAGS="${CFLAGS}" 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 \ -- cgit v1.2.3 From 43a1948d5807469b5ddcea0e3f69b5659171d742 Mon Sep 17 00:00:00 2001 From: liushuyu Date: Thu, 23 Dec 2021 04:43:24 -0700 Subject: CI: use Ninja to build stuff faster --- .ci/scripts/clang/docker.sh | 4 ++-- .ci/scripts/linux/docker.sh | 7 ++++--- .ci/scripts/windows/docker.sh | 6 +++--- 3 files changed, 9 insertions(+), 8 deletions(-) (limited to '.ci') diff --git a/.ci/scripts/clang/docker.sh b/.ci/scripts/clang/docker.sh index 4bb07105a..94a9ca0ec 100755 --- a/.ci/scripts/clang/docker.sh +++ b/.ci/scripts/clang/docker.sh @@ -6,9 +6,9 @@ set -e 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/linux/docker.sh b/.ci/scripts/linux/docker.sh index 38b29294c..436155b3d 100755 --- a/.ci/scripts/linux/docker.sh +++ b/.ci/scripts/linux/docker.sh @@ -17,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/windows/docker.sh b/.ci/scripts/windows/docker.sh index 6420c8f7d..46cdb68f5 100755 --- a/.ci/scripts/windows/docker.sh +++ b/.ci/scripts/windows/docker.sh @@ -6,9 +6,9 @@ set -e ccache -s -mkdir -p "$HOME/.conan/" -cp -rv /home/yuzu/.conan/profiles/ "$HOME/.conan/" -cp -rv /home/yuzu/.conan/settings.yml "$HOME/.conan/" +mkdir -p "$HOME/.conan/profiles" +wget -nc "https://github.com/yuzu-emu/build-environments/raw/master/linux-mingw/default" -O "$HOME/.conan/profiles/default" +wget -nc "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" -- cgit v1.2.3 From 40493231edad7085544b79b6c3ac7360d112170c Mon Sep 17 00:00:00 2001 From: liushuyu Date: Thu, 23 Dec 2021 18:23:02 -0700 Subject: CI: fix caching --- .ci/scripts/windows/docker.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to '.ci') diff --git a/.ci/scripts/windows/docker.sh b/.ci/scripts/windows/docker.sh index 46cdb68f5..d0c70bf09 100755 --- a/.ci/scripts/windows/docker.sh +++ b/.ci/scripts/windows/docker.sh @@ -4,7 +4,7 @@ set -e #cd /yuzu -ccache -s +ccache -sv mkdir -p "$HOME/.conan/profiles" wget -nc "https://github.com/yuzu-emu/build-environments/raw/master/linux-mingw/default" -O "$HOME/.conan/profiles/default" @@ -28,7 +28,7 @@ cmake .. \ -GNinja ninja yuzu yuzu-cmd -ccache -s +ccache -sv echo "Tests skipped" #ctest -VV -C Release -- cgit v1.2.3 From 9981ce8d98953c6353cbc883db225412952459cc Mon Sep 17 00:00:00 2001 From: liushuyu Date: Sat, 18 Jun 2022 23:15:30 -0600 Subject: CI: upload artifacts for pull request verification --- .ci/scripts/clang/upload.sh | 0 .ci/scripts/common/post-upload.sh | 6 ++++-- .ci/scripts/linux/upload.sh | 0 .ci/scripts/windows/upload.sh | 0 4 files changed, 4 insertions(+), 2 deletions(-) mode change 100644 => 100755 .ci/scripts/clang/upload.sh mode change 100644 => 100755 .ci/scripts/linux/upload.sh mode change 100644 => 100755 .ci/scripts/windows/upload.sh (limited to '.ci') diff --git a/.ci/scripts/clang/upload.sh b/.ci/scripts/clang/upload.sh old mode 100644 new mode 100755 diff --git a/.ci/scripts/common/post-upload.sh b/.ci/scripts/common/post-upload.sh index 387431564..91ef750fe 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 [[ "x${NO_SOURCE_PACK}" == "x" ]]; 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/linux/upload.sh b/.ci/scripts/linux/upload.sh old mode 100644 new mode 100755 diff --git a/.ci/scripts/windows/upload.sh b/.ci/scripts/windows/upload.sh old mode 100644 new mode 100755 -- cgit v1.2.3 From 161d6960130085ac5989f64f4f0d7a9c31713498 Mon Sep 17 00:00:00 2001 From: liushuyu Date: Sun, 19 Jun 2022 19:51:31 -0600 Subject: CI: workaround appimage generation if FUSE is not available --- .ci/scripts/linux/upload.sh | 5 +++++ 1 file changed, 5 insertions(+) (limited to '.ci') diff --git a/.ci/scripts/linux/upload.sh b/.ci/scripts/linux/upload.sh index 208cd0d04..3f2c2f208 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}" -- cgit v1.2.3 From 312e5eda66e4e610300bfa178f1c1ce70293bc12 Mon Sep 17 00:00:00 2001 From: liushuyu Date: Mon, 4 Jul 2022 21:18:17 -0600 Subject: CI: lint scripts --- .ci/scripts/common/post-upload.sh | 2 +- .ci/scripts/windows/docker.sh | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) (limited to '.ci') diff --git a/.ci/scripts/common/post-upload.sh b/.ci/scripts/common/post-upload.sh index 91ef750fe..a4e3070fd 100644 --- a/.ci/scripts/common/post-upload.sh +++ b/.ci/scripts/common/post-upload.sh @@ -4,7 +4,7 @@ cp license.txt "$DIR_NAME" cp README.md "$DIR_NAME" -if [[ "x${NO_SOURCE_PACK}" == "x" ]]; then +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 diff --git a/.ci/scripts/windows/docker.sh b/.ci/scripts/windows/docker.sh index d0c70bf09..dcdf39e3e 100755 --- a/.ci/scripts/windows/docker.sh +++ b/.ci/scripts/windows/docker.sh @@ -14,8 +14,7 @@ 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 CFLAGS="-femulated-tls" -export CXXFLAGS="${CFLAGS}" +export CXXFLAGS="-femulated-tls" cmake .. \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_TOOLCHAIN_FILE="${PWD}/../CMakeModules/MinGWClangCross.cmake" \ -- cgit v1.2.3 From 1524ff87d26e95f3fa722ca23eb30895e9b6f793 Mon Sep 17 00:00:00 2001 From: liushuyu Date: Mon, 4 Jul 2022 21:21:36 -0600 Subject: CI: unbreak ADO after GHA changes --- .ci/scripts/clang/exec.sh | 2 +- .ci/scripts/format/exec.sh | 2 +- .ci/scripts/linux/exec.sh | 2 +- .ci/scripts/windows/docker.sh | 4 ++-- .ci/scripts/windows/exec.sh | 2 +- 5 files changed, 6 insertions(+), 6 deletions(-) (limited to '.ci') 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/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/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/windows/docker.sh b/.ci/scripts/windows/docker.sh index dcdf39e3e..d670fe47d 100755 --- a/.ci/scripts/windows/docker.sh +++ b/.ci/scripts/windows/docker.sh @@ -7,8 +7,8 @@ set -e ccache -sv mkdir -p "$HOME/.conan/profiles" -wget -nc "https://github.com/yuzu-emu/build-environments/raw/master/linux-mingw/default" -O "$HOME/.conan/profiles/default" -wget -nc "https://github.com/yuzu-emu/build-environments/raw/master/linux-mingw/settings.yml" -O "$HOME/.conan/settings.yml" +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" 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 ./ -- cgit v1.2.3