From dc915aff6200f957ad6de2b6877f42d1ee71660b Mon Sep 17 00:00:00 2001 From: lat9nq <22451773+lat9nq@users.noreply.github.com> Date: Sat, 17 Jul 2021 16:58:52 -0400 Subject: ci,linux: Support Patreon releases The Early Access AppImage needs to be accessible through liftinstall, so a couple modifications need to made: The DIR_NAME needs to not include the revision info. The EA AppImage name cannot contain revision info. The EA AppImage has to be packaged with the rest of the yuzu package, which means both binaries and the source are bundled with it now in an archive. In addition, fix the source archive so yuzu can actually be built from it. upload: Copy AppImage to both mainline and EA release package --- .ci/scripts/linux/upload.sh | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) (limited to '.ci') diff --git a/.ci/scripts/linux/upload.sh b/.ci/scripts/linux/upload.sh index 8173c5728..155edf25b 100755 --- a/.ci/scripts/linux/upload.sh +++ b/.ci/scripts/linux/upload.sh @@ -5,15 +5,16 @@ . .ci/scripts/common/pre-upload.sh -APPIMAGE_NAME="yuzu-${GITDATE}-${GITREV}.AppImage" -REV_NAME="yuzu-linux-${GITDATE}-${GITREV}" +APPIMAGE_NAME="yuzu-${RELEASE_NAME}-${GITDATE}-${GITREV}.AppImage" +BASE_NAME="yuzu-linux" +REV_NAME="${BASE_NAME}-${GITDATE}-${GITREV}" ARCHIVE_NAME="${REV_NAME}.tar.xz" COMPRESSION_FLAGS="-cJvf" -if [ "${RELEASE_NAME}" = "mainline" ]; then - DIR_NAME="${REV_NAME}" +if [ "${RELEASE_NAME}" = "mainline" ] || [ "${RELEASE_NAME}" = "early-access" ]; then + DIR_NAME="${BASE_NAME}-${RELEASE_NAME}" else - DIR_NAME="${REV_NAME}_${RELEASE_NAME}" + DIR_NAME="${REV_NAME}-${RELEASE_NAME}" fi mkdir "$DIR_NAME" @@ -46,4 +47,9 @@ if [ -f "build/${APPIMAGE_NAME}.zsync" ]; then cp "build/${APPIMAGE_NAME}.zsync" "${ARTIFACTS_DIR}/" fi +# Copy the AppImage to the general release directory and remove git revision info +if [ "${RELEASE_NAME}" = "mainline" ] || [ "${RELEASE_NAME}" = "early-access" ]; then + cp "build/${APPIMAGE_NAME}" "${DIR_NAME}/yuzu-${RELEASE_NAME}.AppImage" +fi + . .ci/scripts/common/post-upload.sh -- cgit v1.2.3 From 69bd6cd4904b9c392d1c79f3049e01a3f5a1e15c Mon Sep 17 00:00:00 2001 From: lat9nq <22451773+lat9nq@users.noreply.github.com> Date: Sat, 17 Jul 2021 18:41:11 -0400 Subject: patreon step2: Enable Linux build I sure as heck don't know what I'm doing :) patreon_step2: Fix caching :limesDance: still don't know what I'm doing :limesDance: --- .ci/yuzu-patreon-step2.yml | 35 +++++++++++++++++++++++++++++++---- 1 file changed, 31 insertions(+), 4 deletions(-) (limited to '.ci') diff --git a/.ci/yuzu-patreon-step2.yml b/.ci/yuzu-patreon-step2.yml index 33c081c53..4c5ede3bc 100644 --- a/.ci/yuzu-patreon-step2.yml +++ b/.ci/yuzu-patreon-step2.yml @@ -8,12 +8,37 @@ variables: DisplayVersion: $[counter(variables['DisplayPrefix'], 1)] stages: -- stage: build - displayName: 'build' +- stage: build_gcc + displayName: 'build-gcc' jobs: - job: build timeoutInMinutes: 120 - displayName: 'windows-msvc' + displayName: 'linux' + pool: + vmImage: ubuntu-latest + strategy: + maxParallel: 10 + matrix: + linux: + BuildSuffix: 'linux' + ScriptFolder: 'linux' + steps: + - template: ./templates/sync-source.yml + parameters: + artifactSource: $(parameters.artifactSource) + needSubmodules: 'true' + - template: ./templates/build-single.yml + parameters: + artifactSource: 'false' + cache: $(parameters.cache) + version: $(DisplayVersion) +- stage: build_msvc + dependsOn: [] + displayName: 'build-msvc' + jobs: + - job: build + timeoutInMinutes: 120 + displayName: 'windows' pool: vmImage: windows-2019 steps: @@ -28,7 +53,9 @@ stages: version: $(DisplayVersion) - stage: release displayName: 'release' - dependsOn: build + dependsOn: + - build_gcc + - build_msvc jobs: - job: release displayName: 'source' -- cgit v1.2.3 From d77fe3b1c2990e97a5c8f3f5f76476f44b8892b0 Mon Sep 17 00:00:00 2001 From: lat9nq Date: Sun, 31 Jul 2022 00:07:30 -0400 Subject: ci/linux: EA AppImage adjustments Prevent AppImageLauncher from trying to integrate our AppImage on end user systems. Don't include the basic yuzu executable with EA or Mainline. --- .ci/scripts/linux/upload.sh | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to '.ci') diff --git a/.ci/scripts/linux/upload.sh b/.ci/scripts/linux/upload.sh index 155edf25b..e0f336427 100755 --- a/.ci/scripts/linux/upload.sh +++ b/.ci/scripts/linux/upload.sh @@ -20,7 +20,9 @@ fi mkdir "$DIR_NAME" cp build/bin/yuzu-cmd "$DIR_NAME" -cp build/bin/yuzu "$DIR_NAME" +if [ "${RELEASE_NAME}" != "early-access" ] && [ "${RELEASE_NAME}" != "mainline" ]; then + cp build/bin/yuzu "$DIR_NAME" +fi # Build an AppImage cd build @@ -33,6 +35,11 @@ if ! ./appimagetool-x86_64.AppImage --version; then export APPIMAGE_EXTRACT_AND_RUN=1 fi +# Don't let AppImageLauncher ask to integrate EA +if [ "${RELEASE_NAME}" = "mainline" ] || [ "${RELEASE_NAME}" = "early-access" ]; then + echo "X-AppImage-Integrate=false" >> AppDir/org.yuzu_emu.yuzu.desktop +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 6b58db9ccda970aada8f7d4b3d53c6e5759a6fb7 Mon Sep 17 00:00:00 2001 From: lat9nq Date: Sun, 31 Jul 2022 21:07:46 -0400 Subject: patreon step2: Use jobs to build for Windows and Linux Apparently the two stages were not building in parallel. Specify individual jobs that run MSVC and Linux building instead. --- .ci/yuzu-patreon-step2.yml | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) (limited to '.ci') diff --git a/.ci/yuzu-patreon-step2.yml b/.ci/yuzu-patreon-step2.yml index 4c5ede3bc..b4995782b 100644 --- a/.ci/yuzu-patreon-step2.yml +++ b/.ci/yuzu-patreon-step2.yml @@ -8,10 +8,10 @@ variables: DisplayVersion: $[counter(variables['DisplayPrefix'], 1)] stages: -- stage: build_gcc - displayName: 'build-gcc' +- stage: build + displayName: 'build' jobs: - - job: build + - job: linux timeoutInMinutes: 120 displayName: 'linux' pool: @@ -32,11 +32,7 @@ stages: artifactSource: 'false' cache: $(parameters.cache) version: $(DisplayVersion) -- stage: build_msvc - dependsOn: [] - displayName: 'build-msvc' - jobs: - - job: build + - job: msvc timeoutInMinutes: 120 displayName: 'windows' pool: @@ -53,9 +49,7 @@ stages: version: $(DisplayVersion) - stage: release displayName: 'release' - dependsOn: - - build_gcc - - build_msvc + dependsOn: build jobs: - job: release displayName: 'source' -- cgit v1.2.3 From 118503f6e5fd4f0c17d89df57600ab17c9b42d52 Mon Sep 17 00:00:00 2001 From: Morph <39850852+Morph1984@users.noreply.github.com> Date: Tue, 30 Aug 2022 14:28:33 -0400 Subject: ci: Enable building with Visual Studio 2022 (again) Since the following https://developercommunity.visualstudio.com/t/Type-alias-lookup-failure-within-paramet/10039150 compiler bug has been fixed, we can finally build with VS 2022 again. --- .ci/templates/build-msvc.yml | 2 +- .ci/yuzu-mainline-step2.yml | 2 +- .ci/yuzu-patreon-step2.yml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) (limited to '.ci') diff --git a/.ci/templates/build-msvc.yml b/.ci/templates/build-msvc.yml index 2a1bf93bc..a2ee71bd8 100644 --- a/.ci/templates/build-msvc.yml +++ b/.ci/templates/build-msvc.yml @@ -9,7 +9,7 @@ parameters: steps: - script: choco install vulkan-sdk displayName: 'Install vulkan-sdk' -- script: refreshenv && mkdir build && cd build && cmake -G "Visual Studio 16 2019" -A x64 -DYUZU_USE_BUNDLED_QT=1 -DYUZU_USE_BUNDLED_SDL2=1 -DYUZU_USE_QT_WEB_ENGINE=ON -DENABLE_COMPATIBILITY_LIST_DOWNLOAD=ON -DYUZU_ENABLE_COMPATIBILITY_REPORTING=${COMPAT} -DYUZU_TESTS=OFF -DUSE_DISCORD_PRESENCE=ON -DENABLE_QT_TRANSLATION=ON -DDISPLAY_VERSION=${{ parameters['version'] }} -DCMAKE_BUILD_TYPE=Release .. && cd .. +- script: refreshenv && mkdir build && cd build && cmake -G "Visual Studio 17 2022" -A x64 -DYUZU_USE_BUNDLED_QT=1 -DYUZU_USE_BUNDLED_SDL2=1 -DYUZU_USE_QT_WEB_ENGINE=ON -DENABLE_COMPATIBILITY_LIST_DOWNLOAD=ON -DYUZU_ENABLE_COMPATIBILITY_REPORTING=${COMPAT} -DYUZU_TESTS=OFF -DUSE_DISCORD_PRESENCE=ON -DENABLE_QT_TRANSLATION=ON -DDISPLAY_VERSION=${{ parameters['version'] }} -DCMAKE_BUILD_TYPE=Release .. && cd .. displayName: 'Configure CMake' - task: MSBuild@1 displayName: 'Build' diff --git a/.ci/yuzu-mainline-step2.yml b/.ci/yuzu-mainline-step2.yml index 0e99f43fa..b294827f4 100644 --- a/.ci/yuzu-mainline-step2.yml +++ b/.ci/yuzu-mainline-step2.yml @@ -50,7 +50,7 @@ stages: timeoutInMinutes: 120 displayName: 'msvc' pool: - vmImage: windows-2019 + vmImage: windows-2022 steps: - template: ./templates/sync-source.yml parameters: diff --git a/.ci/yuzu-patreon-step2.yml b/.ci/yuzu-patreon-step2.yml index 33c081c53..5d5b140fd 100644 --- a/.ci/yuzu-patreon-step2.yml +++ b/.ci/yuzu-patreon-step2.yml @@ -15,7 +15,7 @@ stages: timeoutInMinutes: 120 displayName: 'windows-msvc' pool: - vmImage: windows-2019 + vmImage: windows-2022 steps: - template: ./templates/sync-source.yml parameters: -- cgit v1.2.3 From 45b343d1d09f30193a1da52924ee83a834356fae Mon Sep 17 00:00:00 2001 From: lat9nq Date: Sat, 30 Jul 2022 09:18:33 -0400 Subject: ci,workflows: Enable crash dumps on MSVC builds ci/windows: Enable crash dumps on MinGW builds --- .ci/scripts/windows/docker.sh | 1 + .ci/templates/build-msvc.yml | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) (limited to '.ci') diff --git a/.ci/scripts/windows/docker.sh b/.ci/scripts/windows/docker.sh index 790ba8218..6f522feed 100755 --- a/.ci/scripts/windows/docker.sh +++ b/.ci/scripts/windows/docker.sh @@ -21,6 +21,7 @@ cmake .. \ -DENABLE_COMPATIBILITY_LIST_DOWNLOAD=ON \ -DENABLE_QT_TRANSLATION=ON \ -DUSE_CCACHE=ON \ + -DYUZU_CRASH_DUMPS=ON \ -DYUZU_USE_BUNDLED_SDL2=OFF \ -DYUZU_USE_EXTERNAL_SDL2=OFF \ -DYUZU_TESTS=OFF \ diff --git a/.ci/templates/build-msvc.yml b/.ci/templates/build-msvc.yml index a2ee71bd8..ea405e5dc 100644 --- a/.ci/templates/build-msvc.yml +++ b/.ci/templates/build-msvc.yml @@ -9,7 +9,7 @@ parameters: steps: - script: choco install vulkan-sdk displayName: 'Install vulkan-sdk' -- script: refreshenv && mkdir build && cd build && cmake -G "Visual Studio 17 2022" -A x64 -DYUZU_USE_BUNDLED_QT=1 -DYUZU_USE_BUNDLED_SDL2=1 -DYUZU_USE_QT_WEB_ENGINE=ON -DENABLE_COMPATIBILITY_LIST_DOWNLOAD=ON -DYUZU_ENABLE_COMPATIBILITY_REPORTING=${COMPAT} -DYUZU_TESTS=OFF -DUSE_DISCORD_PRESENCE=ON -DENABLE_QT_TRANSLATION=ON -DDISPLAY_VERSION=${{ parameters['version'] }} -DCMAKE_BUILD_TYPE=Release .. && cd .. +- script: refreshenv && mkdir build && cd build && cmake -G "Visual Studio 17 2022" -A x64 -DYUZU_USE_BUNDLED_QT=1 -DYUZU_USE_BUNDLED_SDL2=1 -DYUZU_USE_QT_WEB_ENGINE=ON -DENABLE_COMPATIBILITY_LIST_DOWNLOAD=ON -DYUZU_ENABLE_COMPATIBILITY_REPORTING=${COMPAT} -DYUZU_TESTS=OFF -DUSE_DISCORD_PRESENCE=ON -DENABLE_QT_TRANSLATION=ON -DDISPLAY_VERSION=${{ parameters['version'] }} -DCMAKE_BUILD_TYPE=Release -DYUZU_CRASH_DUMPS=ON .. && cd .. displayName: 'Configure CMake' - task: MSBuild@1 displayName: 'Build' -- cgit v1.2.3 From 9dc9e501debda06ff31a3e2fe8875ffa0d94e40b Mon Sep 17 00:00:00 2001 From: lat9nq Date: Sat, 30 Jul 2022 12:41:30 -0400 Subject: ci/windows: Upload debugging symbols --- .ci/scripts/windows/upload.ps1 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to '.ci') diff --git a/.ci/scripts/windows/upload.ps1 b/.ci/scripts/windows/upload.ps1 index d463281de..21abcd752 100644 --- a/.ci/scripts/windows/upload.ps1 +++ b/.ci/scripts/windows/upload.ps1 @@ -65,8 +65,8 @@ if ("$env:GITHUB_ACTIONS" -eq "true") { # 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\ + # Debugging symbols + cp .\build\bin\yuzu*.pdb .\artifacts\ # Write out a tag BUILD_TAG to environment for the Upload step # We're getting ${{ github.event.number }} as $env:PR_NUMBER" -- cgit v1.2.3