diff options
Diffstat (limited to '.ci/scripts')
-rwxr-xr-x | .ci/scripts/clang/docker.sh | 15 | ||||
-rw-r--r-- | .ci/scripts/clang/exec.sh | 3 | ||||
-rwxr-xr-x | .ci/scripts/clang/upload.sh | 3 | ||||
-rw-r--r-- | .ci/scripts/common/post-upload.sh | 7 | ||||
-rw-r--r-- | .ci/scripts/common/pre-upload.sh | 3 | ||||
-rw-r--r-- | .ci/scripts/format/docker.sh | 3 | ||||
-rw-r--r-- | .ci/scripts/format/exec.sh | 3 | ||||
-rw-r--r-- | .ci/scripts/format/script.sh | 3 | ||||
-rwxr-xr-x | .ci/scripts/linux/docker.sh | 3 | ||||
-rw-r--r-- | .ci/scripts/linux/exec.sh | 10 | ||||
-rwxr-xr-x | .ci/scripts/linux/upload.sh | 3 | ||||
-rw-r--r-- | .ci/scripts/merge/apply-patches-by-label-private.py | 3 | ||||
-rw-r--r-- | .ci/scripts/merge/apply-patches-by-label.py | 3 | ||||
-rw-r--r-- | .ci/scripts/merge/check-label-presence.py | 3 | ||||
-rw-r--r-- | .ci/scripts/merge/yuzubot-git-config.sh | 3 | ||||
-rwxr-xr-x | .ci/scripts/transifex/docker.sh | 8 | ||||
-rwxr-xr-x | .ci/scripts/windows/docker.sh | 10 | ||||
-rw-r--r-- | .ci/scripts/windows/exec.sh | 3 | ||||
-rw-r--r-- | .ci/scripts/windows/scan_dll.py | 3 | ||||
-rw-r--r-- | .ci/scripts/windows/upload.ps1 | 55 | ||||
-rwxr-xr-x | .ci/scripts/windows/upload.sh | 3 |
21 files changed, 139 insertions, 11 deletions
diff --git a/.ci/scripts/clang/docker.sh b/.ci/scripts/clang/docker.sh index 94a9ca0ec..792ef4aa8 100755 --- a/.ci/scripts/clang/docker.sh +++ b/.ci/scripts/clang/docker.sh @@ -1,12 +1,25 @@ #!/bin/bash -ex +# SPDX-FileCopyrightText: 2021 yuzu Emulator Project +# SPDX-License-Identifier: GPL-2.0-or-later + # Exit on error, rather than continuing with the rest of the script. set -e ccache -s mkdir build || true && cd build -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" +cmake .. \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_CXX_COMPILER=/usr/lib/ccache/clang++ \ + -DCMAKE_C_COMPILER=/usr/lib/ccache/clang \ + -DCMAKE_INSTALL_PREFIX="/usr" \ + -DDISPLAY_VERSION=$1 \ + -DENABLE_COMPATIBILITY_LIST_DOWNLOAD=ON \ + -DENABLE_QT_TRANSLATION=ON \ + -DUSE_DISCORD_PRESENCE=ON \ + -DYUZU_ENABLE_COMPATIBILITY_REPORTING=${ENABLE_COMPATIBILITY_REPORTING:-"OFF"} \ + -GNinja ninja diff --git a/.ci/scripts/clang/exec.sh b/.ci/scripts/clang/exec.sh index a213aac27..664fce5f8 100644 --- a/.ci/scripts/clang/exec.sh +++ b/.ci/scripts/clang/exec.sh @@ -1,5 +1,8 @@ #!/bin/bash -ex +# SPDX-FileCopyrightText: 2021 yuzu Emulator Project +# SPDX-License-Identifier: GPL-2.0-or-later + mkdir -p "ccache" || true chmod a+x ./.ci/scripts/clang/docker.sh # the UID for the container yuzu user is 1027 diff --git a/.ci/scripts/clang/upload.sh b/.ci/scripts/clang/upload.sh index fe4e6b2ac..0b4b3e330 100755 --- a/.ci/scripts/clang/upload.sh +++ b/.ci/scripts/clang/upload.sh @@ -1,5 +1,8 @@ #!/bin/bash -ex +# SPDX-FileCopyrightText: 2021 yuzu Emulator Project +# SPDX-License-Identifier: GPL-2.0-or-later + . .ci/scripts/common/pre-upload.sh REV_NAME="yuzu-linux-${GITDATE}-${GITREV}" diff --git a/.ci/scripts/common/post-upload.sh b/.ci/scripts/common/post-upload.sh index a4e3070fd..7f910b2b3 100644 --- a/.ci/scripts/common/post-upload.sh +++ b/.ci/scripts/common/post-upload.sh @@ -1,11 +1,14 @@ #!/bin/bash -ex +# SPDX-FileCopyrightText: 2019 yuzu Emulator Project +# SPDX-License-Identifier: GPL-2.0-or-later + # Copy documentation -cp license.txt "$DIR_NAME" +cp LICENSE.txt "$DIR_NAME" cp README.md "$DIR_NAME" if [[ -z "${NO_SOURCE_PACK}" ]]; then - tar -cJvf "${REV_NAME}-source.tar.xz" src externals CMakeLists.txt README.md license.txt + 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/common/pre-upload.sh b/.ci/scripts/common/pre-upload.sh index a49e3fff3..705362a3c 100644 --- a/.ci/scripts/common/pre-upload.sh +++ b/.ci/scripts/common/pre-upload.sh @@ -1,5 +1,8 @@ #!/bin/bash -ex +# SPDX-FileCopyrightText: 2019 yuzu Emulator Project +# SPDX-License-Identifier: GPL-2.0-or-later + GITDATE="`git show -s --date=short --format='%ad' | sed 's/-//g'`" GITREV="`git show -s --format='%h'`" ARTIFACTS_DIR="artifacts" diff --git a/.ci/scripts/format/docker.sh b/.ci/scripts/format/docker.sh index 778411e4a..a0f7a61cc 100644 --- a/.ci/scripts/format/docker.sh +++ b/.ci/scripts/format/docker.sh @@ -1,5 +1,8 @@ #!/bin/bash -ex +# SPDX-FileCopyrightText: 2019 yuzu Emulator Project +# SPDX-License-Identifier: GPL-2.0-or-later + # Run clang-format cd /yuzu chmod a+x ./.ci/scripts/format/script.sh diff --git a/.ci/scripts/format/exec.sh b/.ci/scripts/format/exec.sh index c50e90d66..40ab41abd 100644 --- a/.ci/scripts/format/exec.sh +++ b/.ci/scripts/format/exec.sh @@ -1,5 +1,8 @@ #!/bin/bash -ex +# SPDX-FileCopyrightText: 2019 yuzu Emulator Project +# SPDX-License-Identifier: GPL-2.0-or-later + chmod a+x ./.ci/scripts/format/docker.sh # the UID for the container yuzu user is 1027 sudo chown -R 1027 ./ diff --git a/.ci/scripts/format/script.sh b/.ci/scripts/format/script.sh index c2550c966..119abae6a 100644 --- a/.ci/scripts/format/script.sh +++ b/.ci/scripts/format/script.sh @@ -1,5 +1,8 @@ #!/bin/bash -ex +# SPDX-FileCopyrightText: 2019 yuzu Emulator Project +# SPDX-License-Identifier: GPL-2.0-or-later + if grep -nrI '\s$' src *.yml *.txt *.md Doxyfile .gitignore .gitmodules .ci* dist/*.desktop \ dist/*.svg dist/*.xml; then echo Trailing whitespace found, aborting diff --git a/.ci/scripts/linux/docker.sh b/.ci/scripts/linux/docker.sh index 436155b3d..dc7446dd1 100755 --- a/.ci/scripts/linux/docker.sh +++ b/.ci/scripts/linux/docker.sh @@ -1,5 +1,8 @@ #!/bin/bash -ex +# SPDX-FileCopyrightText: 2019 yuzu Emulator Project +# SPDX-License-Identifier: GPL-2.0-or-later + # Exit on error, rather than continuing with the rest of the script. set -e diff --git a/.ci/scripts/linux/exec.sh b/.ci/scripts/linux/exec.sh index fc4594d65..fa3d78cc2 100644 --- a/.ci/scripts/linux/exec.sh +++ b/.ci/scripts/linux/exec.sh @@ -1,8 +1,16 @@ #!/bin/bash -ex +# SPDX-FileCopyrightText: 2019 yuzu Emulator Project +# SPDX-License-Identifier: GPL-2.0-or-later + 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" -w /yuzu yuzuemu/build-environments:linux-fresh /bin/bash /yuzu/.ci/scripts/linux/docker.sh "$1" + +# The environment variables listed below: +# AZURECIREPO TITLEBARFORMATIDLE TITLEBARFORMATRUNNING DISPLAYVERSION +# are requested in src/common/CMakeLists.txt and appear to be provided somewhere in Azure DevOps + +docker run -e AZURECIREPO -e TITLEBARFORMATIDLE -e TITLEBARFORMATRUNNING -e DISPLAYVERSION -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 3f2c2f208..8173c5728 100755 --- a/.ci/scripts/linux/upload.sh +++ b/.ci/scripts/linux/upload.sh @@ -1,5 +1,8 @@ #!/bin/bash -ex +# SPDX-FileCopyrightText: 2019 yuzu Emulator Project +# SPDX-License-Identifier: GPL-2.0-or-later + . .ci/scripts/common/pre-upload.sh APPIMAGE_NAME="yuzu-${GITDATE}-${GITREV}.AppImage" diff --git a/.ci/scripts/merge/apply-patches-by-label-private.py b/.ci/scripts/merge/apply-patches-by-label-private.py index 16b45043e..c640c4c4d 100644 --- a/.ci/scripts/merge/apply-patches-by-label-private.py +++ b/.ci/scripts/merge/apply-patches-by-label-private.py @@ -1,3 +1,6 @@ +# SPDX-FileCopyrightText: 2019 yuzu Emulator Project +# SPDX-License-Identifier: GPL-2.0-or-later + # Download all pull requests as patches that match a specific label # Usage: python download-patches-by-label.py <Label to Match> <Root Path Folder to DL to> diff --git a/.ci/scripts/merge/apply-patches-by-label.py b/.ci/scripts/merge/apply-patches-by-label.py index c288a70a1..8ddc8ff34 100644 --- a/.ci/scripts/merge/apply-patches-by-label.py +++ b/.ci/scripts/merge/apply-patches-by-label.py @@ -1,3 +1,6 @@ +# SPDX-FileCopyrightText: 2019 yuzu Emulator Project +# SPDX-License-Identifier: GPL-2.0-or-later + # Download all pull requests as patches that match a specific label # Usage: python download-patches-by-label.py <Label to Match> <Root Path Folder to DL to> diff --git a/.ci/scripts/merge/check-label-presence.py b/.ci/scripts/merge/check-label-presence.py index 048466d7e..51cf68129 100644 --- a/.ci/scripts/merge/check-label-presence.py +++ b/.ci/scripts/merge/check-label-presence.py @@ -1,3 +1,6 @@ +# SPDX-FileCopyrightText: 2019 yuzu Emulator Project +# SPDX-License-Identifier: GPL-2.0-or-later + # Checks to see if the specified pull request # has the specified tag # Usage: python check-label-presence.py <Pull Request ID> <Name of Label> diff --git a/.ci/scripts/merge/yuzubot-git-config.sh b/.ci/scripts/merge/yuzubot-git-config.sh index d9d595bbc..d7f1f29db 100644 --- a/.ci/scripts/merge/yuzubot-git-config.sh +++ b/.ci/scripts/merge/yuzubot-git-config.sh @@ -1,2 +1,5 @@ +# SPDX-FileCopyrightText: 2019 yuzu Emulator Project +# SPDX-License-Identifier: GPL-2.0-or-later + git config --global user.email "yuzu@yuzu-emu.org" git config --global user.name "yuzubot"
\ No newline at end of file diff --git a/.ci/scripts/transifex/docker.sh b/.ci/scripts/transifex/docker.sh index bafd326f9..6237b3f73 100755 --- a/.ci/scripts/transifex/docker.sh +++ b/.ci/scripts/transifex/docker.sh @@ -1,5 +1,8 @@ #!/bin/bash -e +# SPDX-FileCopyrightText: 2021 yuzu Emulator Project +# SPDX-License-Identifier: GPL-2.0-or-later + # Setup RC file for tx cat << EOF > ~/.transifexrc [https://www.transifex.com] @@ -16,8 +19,11 @@ cmake --version gcc -v tx --version +# vcpkg needs these: curl zip unzip tar, have tar +apt-get install -y curl zip unzip + mkdir build && cd build -cmake .. -DENABLE_QT_TRANSLATION=ON -DGENERATE_QT_TRANSLATION=ON -DCMAKE_BUILD_TYPE=Release -DENABLE_SDL2=OFF +cmake .. -DENABLE_QT_TRANSLATION=ON -DGENERATE_QT_TRANSLATION=ON -DCMAKE_BUILD_TYPE=Release -DENABLE_SDL2=OFF -DYUZU_TESTS=OFF -DYUZU_USE_BUNDLED_VCPKG=ON make translation cd .. diff --git a/.ci/scripts/windows/docker.sh b/.ci/scripts/windows/docker.sh index d670fe47d..790ba8218 100755 --- a/.ci/scripts/windows/docker.sh +++ b/.ci/scripts/windows/docker.sh @@ -1,15 +1,14 @@ #!/bin/bash -ex +# SPDX-FileCopyrightText: 2019 yuzu Emulator Project +# SPDX-License-Identifier: GPL-2.0-or-later + set -e #cd /yuzu ccache -sv -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 @@ -24,6 +23,7 @@ cmake .. \ -DUSE_CCACHE=ON \ -DYUZU_USE_BUNDLED_SDL2=OFF \ -DYUZU_USE_EXTERNAL_SDL2=OFF \ + -DYUZU_TESTS=OFF \ -GNinja ninja yuzu yuzu-cmd @@ -65,7 +65,7 @@ python3 .ci/scripts/windows/scan_dll.py package/*.exe package/imageformats/*.dll # copy FFmpeg libraries EXTERNALS_PATH="$(pwd)/build/externals" FFMPEG_DLL_PATH="$(find "${EXTERNALS_PATH}" -maxdepth 1 -type d | grep 'ffmpeg-')/bin" -find ${FFMPEG_DLL_PATH} -type f -regex ".*\.dll" -exec cp -v {} package/ ';' +find ${FFMPEG_DLL_PATH} -type f -regex ".*\.dll" -exec cp -nv {} package/ ';' # copy libraries from yuzu.exe path find "$(pwd)/build/bin/" -type f -regex ".*\.dll" -exec cp -v {} package/ ';' diff --git a/.ci/scripts/windows/exec.sh b/.ci/scripts/windows/exec.sh index bf5c5fb63..ca74eeba5 100644 --- a/.ci/scripts/windows/exec.sh +++ b/.ci/scripts/windows/exec.sh @@ -1,5 +1,8 @@ #!/bin/bash -ex +# SPDX-FileCopyrightText: 2019 yuzu Emulator Project +# SPDX-License-Identifier: GPL-2.0-or-later + mkdir -p "ccache" || true chmod a+x ./.ci/scripts/windows/docker.sh # the UID for the container yuzu user is 1027 diff --git a/.ci/scripts/windows/scan_dll.py b/.ci/scripts/windows/scan_dll.py index 163183f2e..f374e0d78 100644 --- a/.ci/scripts/windows/scan_dll.py +++ b/.ci/scripts/windows/scan_dll.py @@ -1,3 +1,6 @@ +# SPDX-FileCopyrightText: 2019 yuzu Emulator Project +# SPDX-License-Identifier: GPL-2.0-or-later + import pefile import sys import re diff --git a/.ci/scripts/windows/upload.ps1 b/.ci/scripts/windows/upload.ps1 index 62483607b..3da242bc7 100644 --- a/.ci/scripts/windows/upload.ps1 +++ b/.ci/scripts/windows/upload.ps1 @@ -1,3 +1,6 @@ +# SPDX-FileCopyrightText: 2019 yuzu Emulator Project +# SPDX-License-Identifier: GPL-2.0-or-later + param($BUILD_NAME) $GITDATE = $(git show -s --date=short --format='%ad') -replace "-", "" @@ -25,6 +28,9 @@ $env:BUILD_UPDATE = $MSVC_SEVENZIP $BUILD_DIR = ".\build\bin\Release" +# Cleanup unneeded data in submodules +git submodule foreach git clean -fxd + # Upload debugging symbols mkdir pdb Get-ChildItem "$BUILD_DIR\" -Recurse -Filter "*.pdb" | Copy-Item -destination .\pdb @@ -37,7 +43,7 @@ mkdir $MSVC_SOURCE mkdir "artifacts" # Build a tar.xz for the source of the release -Copy-Item .\license.txt -Destination $MSVC_SOURCE +Copy-Item .\LICENSE.txt -Destination $MSVC_SOURCE Copy-Item .\README.md -Destination $MSVC_SOURCE Copy-Item .\CMakeLists.txt -Destination $MSVC_SOURCE Copy-Item .\src -Recurse -Destination $MSVC_SOURCE @@ -47,6 +53,49 @@ Copy-Item .\CMakeModules -Recurse -Destination $MSVC_SOURCE 7z a -r -ttar $MSVC_SOURCE_TAR $MSVC_SOURCE 7z a -r -txz $MSVC_SOURCE_TARXZ $MSVC_SOURCE_TAR +# Following section is quick hack to package artifacts differently for GitHub Actions +if ("$env:GITHUB_ACTIONS" -eq "true") { + echo "Hello GitHub Actions" + + # Hopefully there is an exe in either .\build\bin or .\build\bin\Release + cp .\build\bin\yuzu*.exe .\artifacts\ + Copy-Item "$BUILD_DIR\*" -Destination "artifacts" -Recurse + Remove-Item .\artifacts\tests.exe -ErrorAction ignore + + # None of the other GHA builds are including source, so commenting out today + #Copy-Item $MSVC_SOURCE_TARXZ -Destination "artifacts" + + # Are debug symbols important? + # cp .\build\bin\yuzu*.pdb .\pdb\ + + # Write out a tag BUILD_TAG to environment for the Upload step + # We're getting ${{ github.event.number }} as $env:PR_NUMBER" + echo "env:PR_NUMBER: $env:PR_NUMBER" + if (Test-Path env:PR_NUMBER) { + $PR_NUMBER = $env:PR_NUMBER.Substring(2) -as [int] + $PR_NUMBER_TAG = "pr"+([string]$PR_NUMBER).PadLeft(5,'0') + if ($PR_NUMBER -gt 1){ + $BUILD_TAG="verify-$PR_NUMBER_TAG-$GITDATE-$GITREV" + } else { + $BUILD_TAG = "verify-$GITDATE-$GITREV" + } + } else { + # If env:PR_NUMBER isn't set, we should still write out a variable + $BUILD_TAG = "verify-$GITDATE-$GITREV" + } + echo "BUILD_TAG=$BUILD_TAG" + echo "BUILD_TAG=$BUILD_TAG" >> $env:GITHUB_ENV + + # For extra job, just the exe + $INDIVIDUAL_EXE = "yuzu-msvc-$BUILD_TAG.exe" + echo "INDIVIDUAL_EXE=$INDIVIDUAL_EXE" + echo "INDIVIDUAL_EXE=$INDIVIDUAL_EXE" >> $env:GITHUB_ENV + echo "Just the exe: $INDIVIDUAL_EXE" + cp .\artifacts\yuzu.exe .\$INDIVIDUAL_EXE + + +} else { + # Build the final release artifacts Copy-Item $MSVC_SOURCE_TARXZ -Destination $RELEASE_DIST Copy-Item "$BUILD_DIR\*" -Destination $RELEASE_DIST -Recurse @@ -62,3 +111,7 @@ Get-ChildItem "$BUILD_DIR" -Recurse -Filter "QtWebEngineProcess*.exe" | Copy-Ite Get-ChildItem . -Filter "*.zip" | Copy-Item -destination "artifacts" Get-ChildItem . -Filter "*.7z" | Copy-Item -destination "artifacts" Get-ChildItem . -Filter "*.tar.xz" | Copy-Item -destination "artifacts" +} +# Extra items +git status +cp .\build\src\common\scm_rev.cpp .\artifacts diff --git a/.ci/scripts/windows/upload.sh b/.ci/scripts/windows/upload.sh index 3c6a74218..4aa5be544 100755 --- a/.ci/scripts/windows/upload.sh +++ b/.ci/scripts/windows/upload.sh @@ -1,5 +1,8 @@ #!/bin/bash -ex +# SPDX-FileCopyrightText: 2019 yuzu Emulator Project +# SPDX-License-Identifier: GPL-2.0-or-later + . .ci/scripts/common/pre-upload.sh REV_NAME="yuzu-windows-mingw-${GITDATE}-${GITREV}" |