summaryrefslogtreecommitdiffstats
path: root/.ci/scripts
diff options
context:
space:
mode:
Diffstat (limited to '.ci/scripts')
-rwxr-xr-x.ci/scripts/clang/docker.sh15
-rw-r--r--.ci/scripts/clang/exec.sh3
-rwxr-xr-x.ci/scripts/clang/upload.sh3
-rw-r--r--.ci/scripts/common/post-upload.sh7
-rw-r--r--.ci/scripts/common/pre-upload.sh3
-rw-r--r--.ci/scripts/format/docker.sh3
-rw-r--r--.ci/scripts/format/exec.sh3
-rw-r--r--.ci/scripts/format/script.sh3
-rwxr-xr-x.ci/scripts/linux/docker.sh3
-rw-r--r--.ci/scripts/linux/exec.sh10
-rwxr-xr-x.ci/scripts/linux/upload.sh3
-rw-r--r--.ci/scripts/merge/apply-patches-by-label-private.py3
-rw-r--r--.ci/scripts/merge/apply-patches-by-label.py3
-rw-r--r--.ci/scripts/merge/check-label-presence.py3
-rw-r--r--.ci/scripts/merge/yuzubot-git-config.sh3
-rwxr-xr-x.ci/scripts/transifex/docker.sh8
-rwxr-xr-x.ci/scripts/windows/docker.sh10
-rw-r--r--.ci/scripts/windows/exec.sh3
-rw-r--r--.ci/scripts/windows/scan_dll.py3
-rw-r--r--.ci/scripts/windows/upload.ps155
-rwxr-xr-x.ci/scripts/windows/upload.sh3
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}"