diff options
| -rw-r--r-- | .ci/scripts/common/post-upload.sh | 4 | ||||
| -rw-r--r-- | .ci/scripts/common/pre-upload.sh | 3 | ||||
| -rwxr-xr-x | .ci/scripts/linux/docker.sh | 44 | ||||
| -rw-r--r-- | .ci/scripts/linux/upload.sh | 5 |
4 files changed, 51 insertions, 5 deletions
diff --git a/.ci/scripts/common/post-upload.sh b/.ci/scripts/common/post-upload.sh index e46ee0abb..99e79fcb6 100644 --- a/.ci/scripts/common/post-upload.sh +++ b/.ci/scripts/common/post-upload.sh | |||
| @@ -15,5 +15,5 @@ mv "${REV_NAME}-source.tar.xz" $RELEASE_NAME | |||
| 15 | 7z a "$REV_NAME.7z" $RELEASE_NAME | 15 | 7z a "$REV_NAME.7z" $RELEASE_NAME |
| 16 | 16 | ||
| 17 | # move the compiled archive into the artifacts directory to be uploaded by travis releases | 17 | # move the compiled archive into the artifacts directory to be uploaded by travis releases |
| 18 | mv "$ARCHIVE_NAME" artifacts/ | 18 | mv "$ARCHIVE_NAME" "${ARTIFACTS_DIR}/" |
| 19 | mv "$REV_NAME.7z" artifacts/ | 19 | mv "$REV_NAME.7z" "${ARTIFACTS_DIR}/" |
diff --git a/.ci/scripts/common/pre-upload.sh b/.ci/scripts/common/pre-upload.sh index 3c2fc79a2..a49e3fff3 100644 --- a/.ci/scripts/common/pre-upload.sh +++ b/.ci/scripts/common/pre-upload.sh | |||
| @@ -2,5 +2,6 @@ | |||
| 2 | 2 | ||
| 3 | GITDATE="`git show -s --date=short --format='%ad' | sed 's/-//g'`" | 3 | GITDATE="`git show -s --date=short --format='%ad' | sed 's/-//g'`" |
| 4 | GITREV="`git show -s --format='%h'`" | 4 | GITREV="`git show -s --format='%h'`" |
| 5 | ARTIFACTS_DIR="artifacts" | ||
| 5 | 6 | ||
| 6 | mkdir -p artifacts | 7 | mkdir -p "${ARTIFACTS_DIR}/" |
diff --git a/.ci/scripts/linux/docker.sh b/.ci/scripts/linux/docker.sh index e0c018cfd..30391f6ad 100755 --- a/.ci/scripts/linux/docker.sh +++ b/.ci/scripts/linux/docker.sh | |||
| @@ -1,14 +1,54 @@ | |||
| 1 | #!/bin/bash -ex | 1 | #!/bin/bash -ex |
| 2 | 2 | ||
| 3 | # Exit on error, rather than continuing with the rest of the script. | ||
| 4 | set -e | ||
| 5 | |||
| 3 | cd /yuzu | 6 | cd /yuzu |
| 4 | 7 | ||
| 5 | ccache -s | 8 | ccache -s |
| 6 | 9 | ||
| 7 | mkdir build || true && cd build | 10 | mkdir build || true && cd build |
| 8 | cmake .. -G Ninja -DDISPLAY_VERSION=$1 -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_COMPILER=/usr/lib/ccache/gcc -DCMAKE_CXX_COMPILER=/usr/lib/ccache/g++ -DYUZU_ENABLE_COMPATIBILITY_REPORTING=${ENABLE_COMPATIBILITY_REPORTING:-"OFF"} -DENABLE_COMPATIBILITY_LIST_DOWNLOAD=ON -DUSE_DISCORD_PRESENCE=ON -DENABLE_QT_TRANSLATION=ON | 11 | cmake .. -DDISPLAY_VERSION=$1 -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_COMPILER=/usr/lib/ccache/gcc -DCMAKE_CXX_COMPILER=/usr/lib/ccache/g++ -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" |
| 9 | 12 | ||
| 10 | ninja | 13 | make -j$(nproc) |
| 11 | 14 | ||
| 12 | ccache -s | 15 | ccache -s |
| 13 | 16 | ||
| 14 | ctest -VV -C Release | 17 | ctest -VV -C Release |
| 18 | |||
| 19 | make install DESTDIR=AppDir | ||
| 20 | rm -vf AppDir/usr/bin/yuzu-cmd AppDir/usr/bin/yuzu-tester | ||
| 21 | |||
| 22 | # Download tools needed to build an AppImage | ||
| 23 | wget -nc https://github.com/linuxdeploy/linuxdeploy/releases/download/continuous/linuxdeploy-x86_64.AppImage | ||
| 24 | wget -nc https://github.com/linuxdeploy/linuxdeploy-plugin-qt/releases/download/continuous/linuxdeploy-plugin-qt-x86_64.AppImage | ||
| 25 | wget -nc https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage | ||
| 26 | wget -nc https://github.com/darealshinji/AppImageKit-checkrt/releases/download/continuous/AppRun-patched-x86_64 | ||
| 27 | wget -nc https://github.com/darealshinji/AppImageKit-checkrt/releases/download/continuous/exec-x86_64.so | ||
| 28 | # Set executable bit | ||
| 29 | chmod 755 \ | ||
| 30 | appimagetool-x86_64.AppImage \ | ||
| 31 | AppRun-patched-x86_64 \ | ||
| 32 | exec-x86_64.so \ | ||
| 33 | linuxdeploy-x86_64.AppImage \ | ||
| 34 | linuxdeploy-plugin-qt-x86_64.AppImage | ||
| 35 | |||
| 36 | # Workaround for https://github.com/AppImage/AppImageKit/issues/828 | ||
| 37 | export APPIMAGE_EXTRACT_AND_RUN=1 | ||
| 38 | |||
| 39 | mkdir -p AppDir/usr/optional | ||
| 40 | mkdir -p AppDir/usr/optional/libstdc++ | ||
| 41 | mkdir -p AppDir/usr/optional/libgcc_s | ||
| 42 | |||
| 43 | # Deploy yuzu's needed dependencies | ||
| 44 | ./linuxdeploy-x86_64.AppImage --appdir AppDir --plugin qt | ||
| 45 | |||
| 46 | # Workaround for building yuzu with GCC 10 but also trying to distribute it to Ubuntu 18.04 et al. | ||
| 47 | # See https://github.com/darealshinji/AppImageKit-checkrt | ||
| 48 | cp exec-x86_64.so AppDir/usr/optional/exec.so | ||
| 49 | cp AppRun-patched-x86_64 AppDir/AppRun | ||
| 50 | cp --dereference /usr/lib/x86_64-linux-gnu/libstdc++.so.6 AppDir/usr/optional/libstdc++/libstdc++.so.6 | ||
| 51 | cp --dereference /lib/x86_64-linux-gnu/libgcc_s.so.1 AppDir/usr/optional/libgcc_s/libgcc_s.so.1 | ||
| 52 | |||
| 53 | # Build the AppImage | ||
| 54 | ./appimagetool-x86_64.AppImage AppDir | ||
diff --git a/.ci/scripts/linux/upload.sh b/.ci/scripts/linux/upload.sh index fe4e6b2ac..7175e4cb5 100644 --- a/.ci/scripts/linux/upload.sh +++ b/.ci/scripts/linux/upload.sh | |||
| @@ -2,6 +2,8 @@ | |||
| 2 | 2 | ||
| 3 | . .ci/scripts/common/pre-upload.sh | 3 | . .ci/scripts/common/pre-upload.sh |
| 4 | 4 | ||
| 5 | APPIMAGE_NAME="yuzu-x86_64.AppImage" | ||
| 6 | NEW_APPIMAGE_NAME="yuzu-${GITDATE}-${GITREV}-x86_64.AppImage" | ||
| 5 | REV_NAME="yuzu-linux-${GITDATE}-${GITREV}" | 7 | REV_NAME="yuzu-linux-${GITDATE}-${GITREV}" |
| 6 | ARCHIVE_NAME="${REV_NAME}.tar.xz" | 8 | ARCHIVE_NAME="${REV_NAME}.tar.xz" |
| 7 | COMPRESSION_FLAGS="-cJvf" | 9 | COMPRESSION_FLAGS="-cJvf" |
| @@ -17,4 +19,7 @@ mkdir "$DIR_NAME" | |||
| 17 | cp build/bin/yuzu-cmd "$DIR_NAME" | 19 | cp build/bin/yuzu-cmd "$DIR_NAME" |
| 18 | cp build/bin/yuzu "$DIR_NAME" | 20 | cp build/bin/yuzu "$DIR_NAME" |
| 19 | 21 | ||
| 22 | # Copy the AppImage to the artifacts directory and avoid compressing it | ||
| 23 | cp "build/${APPIMAGE_NAME}" "${ARTIFACTS_DIR}/${NEW_APPIMAGE_NAME}" | ||
| 24 | |||
| 20 | . .ci/scripts/common/post-upload.sh | 25 | . .ci/scripts/common/post-upload.sh |