summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Kyle Kienapfel2022-07-15 19:29:44 -0700
committerGravatar Kyle Kienapfel2022-07-23 08:35:26 -0700
commit5cda63041749bdaaf39c8c2ccf25660b3c13f76d (patch)
tree5ba0368b83466eb11e510b60d02710e145199508
parentMerge pull request #8584 from Morph1984/qt5-cleanup (diff)
downloadyuzu-5cda63041749bdaaf39c8c2ccf25660b3c13f76d.tar.gz
yuzu-5cda63041749bdaaf39c8c2ccf25660b3c13f76d.tar.xz
yuzu-5cda63041749bdaaf39c8c2ccf25660b3c13f76d.zip
package MSVC CI Builds differently, and include yuzu.exe
This is related to 8486 Ninja places the exe files into .\build\bin while MSBuild may place them into .\build\bin\Release upload.ps1 was originally written for use with Azure Dev Ops to cough up about 5 files and the script appears to be used for both CI and mainline builds GHA (GitHub Actions) makes available a single zip of the items uploaded by each Upload action (artifacts directory), so we want to work with that. I'm doing changes to upload.ps1 to accomplish this. The changes to the verify.yml are as follows -DGIT_BRANCH=pr-verify changes the header in yuzu, instead of saying HEAD-<hash>-dirty it'll say pr-verify-<hash> -DCLANG_FORMAT_SUFFIX=discordplzdontclang tricks the CMake stuff for discord-rpc to NOT run clang-format, as this was marking CI builds as dirty I'm also making it upload just the exe by itself, as the msvc builds are quite chunky. but maybe this is unnecessary. Currently the MSVC artifact option is a 274MB zip that contains 3 copies of the DLLs, and 4 copies of the source tarball, and zero copies of yuzu.exe This PR should have msvc artifacts of about 190MB that downloads as 81 MB zip
-rw-r--r--.ci/scripts/windows/upload.ps147
-rw-r--r--.github/workflows/verify.yml9
2 files changed, 55 insertions, 1 deletions
diff --git a/.ci/scripts/windows/upload.ps1 b/.ci/scripts/windows/upload.ps1
index 62483607b..230dd6954 100644
--- a/.ci/scripts/windows/upload.ps1
+++ b/.ci/scripts/windows/upload.ps1
@@ -47,6 +47,49 @@ Copy-Item .\CMakeModules -Recurse -Destination $MSVC_SOURCE
477z a -r -ttar $MSVC_SOURCE_TAR $MSVC_SOURCE 477z a -r -ttar $MSVC_SOURCE_TAR $MSVC_SOURCE
487z a -r -txz $MSVC_SOURCE_TARXZ $MSVC_SOURCE_TAR 487z a -r -txz $MSVC_SOURCE_TARXZ $MSVC_SOURCE_TAR
49 49
50# Following section is quick hack to package artifacts differently for GitHub Actions
51if ("$env:GITHUB_ACTIONS" -eq "true") {
52 echo "Hello GitHub Actions"
53
54 # Hopefully there is an exe in either .\build\bin or .\build\bin\Release
55 cp .\build\bin\yuzu*.exe .\artifacts\
56 Copy-Item "$BUILD_DIR\*" -Destination "artifacts" -Recurse
57 Remove-Item .\artifacts\tests.exe -ErrorAction ignore
58
59 # None of the other GHA builds are including source, so commenting out today
60 #Copy-Item $MSVC_SOURCE_TARXZ -Destination "artifacts"
61
62 # Are debug symbols important?
63 # cp .\build\bin\yuzu*.pdb .\pdb\
64
65 # Write out a tag BUILD_TAG to environment for the Upload step
66 # We're getting ${{ github.event.number }} as $env:PR_NUMBER"
67 echo "env:PR_NUMBER: $env:PR_NUMBER"
68 if (Test-Path env:PR_NUMBER) {
69 $PR_NUMBER = $env:PR_NUMBER.Substring(2) -as [int]
70 $PR_NUMBER_TAG = "pr"+([string]$PR_NUMBER).PadLeft(5,'0')
71 if ($PR_NUMBER -gt 1){
72 $BUILD_TAG="verify-$PR_NUMBER_TAG-$GITDATE-$GITREV"
73 } else {
74 $BUILD_TAG = "verify-$GITDATE-$GITREV"
75 }
76 } else {
77 # If env:PR_NUMBER isn't set, we should still write out a variable
78 $BUILD_TAG = "verify-$GITDATE-$GITREV"
79 }
80 echo "BUILD_TAG=$BUILD_TAG"
81 echo "BUILD_TAG=$BUILD_TAG" >> $env:GITHUB_ENV
82
83 # For extra job, just the exe
84 $INDIVIDUAL_EXE = "yuzu-msvc-$BUILD_TAG.exe"
85 echo "INDIVIDUAL_EXE=$INDIVIDUAL_EXE"
86 echo "INDIVIDUAL_EXE=$INDIVIDUAL_EXE" >> $env:GITHUB_ENV
87 echo "Just the exe: $INDIVIDUAL_EXE"
88 cp .\artifacts\yuzu.exe .\$INDIVIDUAL_EXE
89
90
91} else {
92
50# Build the final release artifacts 93# Build the final release artifacts
51Copy-Item $MSVC_SOURCE_TARXZ -Destination $RELEASE_DIST 94Copy-Item $MSVC_SOURCE_TARXZ -Destination $RELEASE_DIST
52Copy-Item "$BUILD_DIR\*" -Destination $RELEASE_DIST -Recurse 95Copy-Item "$BUILD_DIR\*" -Destination $RELEASE_DIST -Recurse
@@ -62,3 +105,7 @@ Get-ChildItem "$BUILD_DIR" -Recurse -Filter "QtWebEngineProcess*.exe" | Copy-Ite
62Get-ChildItem . -Filter "*.zip" | Copy-Item -destination "artifacts" 105Get-ChildItem . -Filter "*.zip" | Copy-Item -destination "artifacts"
63Get-ChildItem . -Filter "*.7z" | Copy-Item -destination "artifacts" 106Get-ChildItem . -Filter "*.7z" | Copy-Item -destination "artifacts"
64Get-ChildItem . -Filter "*.tar.xz" | Copy-Item -destination "artifacts" 107Get-ChildItem . -Filter "*.tar.xz" | Copy-Item -destination "artifacts"
108}
109# Extra items
110git status
111cp .\build\src\common\scm_rev.cpp .\artifacts
diff --git a/.github/workflows/verify.yml b/.github/workflows/verify.yml
index 88e3a9a72..887220441 100644
--- a/.github/workflows/verify.yml
+++ b/.github/workflows/verify.yml
@@ -3,6 +3,8 @@ name: 'yuzu verify'
3on: 3on:
4 pull_request: 4 pull_request:
5 branches: [ master ] 5 branches: [ master ]
6env:
7 PR_NUMBER: pr${{ github.event.number }}
6 8
7jobs: 9jobs:
8 format: 10 format:
@@ -99,7 +101,7 @@ jobs:
99 run: | 101 run: |
100 glslangValidator --version 102 glslangValidator --version
101 mkdir build 103 mkdir build
102 cmake . -B build -GNinja -DCMAKE_TOOLCHAIN_FILE="CMakeModules/MSVCCache.cmake" -DUSE_CCACHE=ON -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=ON -DUSE_DISCORD_PRESENCE=ON -DENABLE_QT_TRANSLATION=ON -DCMAKE_BUILD_TYPE=Release -DYUZU_TESTS=OFF -DYUZU_USE_BUNDLED_VCPKG=ON 104 cmake . -B build -GNinja -DCMAKE_TOOLCHAIN_FILE="CMakeModules/MSVCCache.cmake" -DUSE_CCACHE=ON -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=ON -DUSE_DISCORD_PRESENCE=ON -DENABLE_QT_TRANSLATION=ON -DCMAKE_BUILD_TYPE=Release -DGIT_BRANCH=pr-verify -DCLANG_FORMAT_SUFFIX=discordplzdontclang -DYUZU_TESTS=OFF -DYUZU_USE_BUNDLED_VCPKG=ON
103 - name: Build 105 - name: Build
104 run: cmake --build build 106 run: cmake --build build
105 - name: Cache Summary 107 - name: Cache Summary
@@ -112,3 +114,8 @@ jobs:
112 with: 114 with:
113 name: msvc 115 name: msvc
114 path: artifacts/ 116 path: artifacts/
117 - name: Upload EXE
118 uses: actions/upload-artifact@v3
119 with:
120 name: ${{ env.INDIVIDUAL_EXE }}
121 path: ${{ env.INDIVIDUAL_EXE }}